码迷,mamicode.com
首页 > 其他好文 > 详细

ViewPager,Fragment

时间:2015-08-27 12:32:16      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

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表示在为不进行缩略

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ViewPager,Fragment

标签:

原文地址:http://www.cnblogs.com/chhom/p/4762594.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!