ViewPager,Fragment

ViewPager+Fragment可以做出多页面滑动的效果,让我们的应用程序界面操作起来更加灵活

ViewPager滑动事件讲解:

首先ViewPager在处理滑动事件时要用到OnPageChangeListener

OnPageChangeListener这个接口需要实现三个方法:(onPageScrollStateChanged,onPageScrolled ,onPageSelected)

onPageScrollStateChanged(int arg0)   ,此方法是在状态改变的时候调用,其中arg0这个参数有三种状态(0,1,2)。arg0 ==1的时辰默示正在滑动,arg0==2的时辰默示滑动完毕了,arg0==0的时辰默示什么都没做。

onPageScrolled(int arg0,float arg1,int arg2)    ,当页面在滑动的时候会调用此方法,在滑动被停止之前,此方法回一直得到调用。其中三个参数的含义分别为:

arg0 :当前页面,及你点击滑动的页面

arg1:当前页面偏移的百分比

arg2:当前页面偏移的像素位置

onPageSelected(int arg0) :此方法是页面跳转完后得到调用,arg0是你当前选中的页面的Position(位置编号)。

Fragment:

android.app.Fragment

public class LeftFragment extends Fragment{

@Override

public View onCreateView(LayoutInflater inflater,ViewGroup conainer,

Buddle savedInstanceState){

View view=inflater.inflate(R.layout.left_fragment,container,false);

return view;

}

}

这里重写了Fragment的onCreateView方法,然后在这个方法中通过LayoutInflater的inflate方法将定义的left_fragment布局动态加载进来

FrameLayout布局,没有任何的定位方式,所有控件都摆放在左上角

动态的添加碎片:

1.创建待添加的碎片实例

2.获取到FragmentManager,在活动中可直接调用getFragmentManager()方法得到

3.开启一个事务,通过调用beginTransation()方法开启

4.向容器内加入碎片,一般使用replace()方法实现,需要传入容器的id和待添加的碎片实例

5.提交事务,调用commit()方法完成

RightFragment fragment=new RightFragment();

FragmentManager fragmentManager=getFragmentManager();

FragmentTransation transation=fragmentManager.beginTransation();

transation.replace(R.id.left_layout,fragment);

transation.commit();

碎片和活动之间进行通信

为了方便碎片和活动之间进行通信,FragmentManager提供了一个类似于findViewById()的方法,专门用于从布局文件中获取碎片的实例:

RightFragment fragment=(RightFragment)getFragmentManager().findFragmentById(R.id.right_fragment);

在碎片中调用活动里的方法:

在每个碎片中都可以通过调用getActivity()方法来得到和当前碎片向关联的活动实例

MainActivity activity=(MainActiviy)getActivity();

碎片和碎片之间的通信:

首先在一个碎片中得到一个和他相关连的活动,在通过这个活动去或阿奴另外一个碎片的实例

android:padding表示给这个控件周围加上补白,不至于让文本内容紧靠在边缘上

android:ellipise用于设定当文本内容超出控件宽度时,文本的缩略方式,指定为end表示在为不进行缩略

时间: 2024-09-22 12:22:14

ViewPager,Fragment的相关文章

网络请求(viewPager,Fragment,ListView)

数据接口地址:(校园内部地址,不能使用网络流量访问) 三张向导图片的接口文件: http://172.17.29.120/localuser/ljy/ndhx/pic.json 栏目导航接口文件: http://172.17.29.120/localuser/ljy/ndhx/nav.json 关于我们接口文件: http://172.17.29.120/localuser/ljy/ndhx/about.json 培训动态接口文件: http://172.17.29.120/localuser/

使用Fragment+ViewPager,仿微信实现多页Tab切换

我们今天实现类似微信的首页的滑动Tab效果:          郭霖有一篇博客http://blog.csdn.net/guolin_blog/article/details/13171191,讲过如何实现,但是他的demo不能通过滑动切换,只能通过点击按钮切换. 通过viewpager,我们可以完全实现微信的效果. 先看看我的实现效果:      主页面代码 package com.example.fragmentdemo; import java.util.ArrayList; import

底部菜单中用fragment,fragment中套用PagerSlidingTabStrip,切换底部时viewpager消失

今天在开发时遇上一个问题,我用的框架是底部菜单四个按钮+fragment,然后主页中的fragment套用了PagerSlidingTabStrip,PagerSlidingTabStrip中是用Viewpager+Tab组合进行点击切换页面或者滑动切换菜单,就这样实现了我想要的功能,可是当我在底部菜单中相互切换时,PagerSlidingTabStrip中的Viewpeger消失了,这是怎么产生的呢?官方的Demo没有组合起来使用,所以没有问题,现在组合后问题就出来了,我换用了几个方法都没有解

使用ViewPager切换Fragment时,防止频繁调用OnCreatView

使用ViewPager切换Fragment,我原先使用系统自带的适配器FragmentPagerAdapter. 切换fragment时,频繁调用oncreatview(). 查看FragmentPagerAdapter的源码,发现两个关键的地方 1 @Override 2 public Object instantiateItem(ViewGroup container, int position) { 3 if (mCurTransaction == null) { 4 mCurTransa

fragment中嵌套viewpager,vierpager中有多个fragment,不显示 .

fragment中嵌套viewpager,vierpager中有多个fragment,不显示 ... 现在好多应用流行一种布局.底部几个工具栏选项,上面也有类似tab的选项. 底部用RadioGroup控制fragment的切换.以上有五个fragment. 第一个fragment,代表着首页.首页又是一个类似tab的fragment,使用viewpager切换着两个fragment. private void InitViewPager(View parentView) {        mP

ViewPager和Fragment结合使用,可以做出顶部导航界面滑动效果

在项目中,我们常常需要实现界面滑动切换的效果.例如,微信界面的左右滑动切换效果.那这种效果是怎么实现的?今天我就带大家简单了解ViewPager,并通过实例来实现该效果. 一. ViewPager 官方API 首先我们来看一下ViewPager官方给出的解释,如图: 具体意思如下: Layout 管理器允许用户可以在页面上,左右滑动来翻动页面.你可以考虑实现PagerAdapter接口来显示该效果. ViewPager很多时候会结合Fragment一块使用,这种方法使得管理每个页面的生命周期变得

如何使用viewpager与fragment写一个app导航activity

今天我们来看一下如何使用viewpager和fragment组合来写一个app导航activity,这里使用到了android开源控件viewpagerindicator,有兴趣的同学可以去它网站上看看它的介绍. 附上效果截图一张: demo中只有一个activity,是用activity_main.xml来布局,其内容如下: <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:and

android开发之viewpager and Fragment

Android ViewPager和Fragment实现顶部导航界面滑动效果 Layout 管理器允许用户可以在页面上,左右滑动来翻动页面.你可以考虑实现PagerAdapter接口来显示 该效果.ViewPager很多时候会结合Fragment一块使用,这种方法使得管理每个页面的生命周期变得很方便. 些adapter的具体实现,可以适合于这种ViewPager结合Fragment使用的情况.这些adapter包括: 其中,有一FragmentPagerAdapter,和 FragmentSta

Android ViewPager和Fragment实现顶部导航界面滑动效果

在项目中,我们常常需要实现界面滑动切换的效果.例如,微信界面的左右滑动切换效果.那这种效果是怎么实现的?今天我就带大家简单了解ViewPager,并通过实例来实现该效果. 一. ViewPager 官方API 首先我们来看一下ViewPager官方给出的解释,如图: 具体意思如下: Layout 管理器允许用户可以在页面上,左右滑动来翻动页面.你可以考虑实现PagerAdapter接口来显示该效果. ViewPager很多时候会结合Fragment一块使用,这种方法使得管理每个页面的生命周期变得