ViewPager与Fragment结合的简单使用
来源:互联网 发布:php网站漏洞扫描工具 编辑:程序博客网 时间:2024/05/10 03:50
提供ViewPager与Fragment的简单实用方法,提供一个使用思路。
供初学者使用,不喜勿喷。
效果如下
使用方法:
1.首先我们要有自己的控件(这不是废话么!!)上边有三个按钮,下边放Viewpager
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="text.an.com.vapdemp.MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:id="@+id/linearLayout"> <Button android:id="@+id/but1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:background="#ff0" android:text="第一个"/> <Button android:id="@+id/but2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:background="#fff" android:text="第二个"/> <Button android:id="@+id/but3" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:background="#fff" android:text="第三个"/> </LinearLayout> <android.support.v4.view.ViewPager android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/vp" android:layout_below="@+id/linearLayout" android:layout_alignParentStart="true" /></RelativeLayout>
2.适配自己的fragment,以便使用,这里我们只给一个简单的一个布局
----布局,只给一个简单的文本布局,再给一个北京就好了,可以自选颜色,
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/fragment1" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ff0" android:text="fragment1"/></LinearLayout>
----代码示意,简单点容易了解
public class Fragment1 extends Fragment{ private View view; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.fragment1, container, false); return view; }}3.我们将fragment添加到ViewPager里边代码如下
(1),创建适配器:viewPager.setAdapter(new FragmentPagerAdapter( getSupportFragmentManager())
切记,一定要加getSupportFragmentManager()
(2),重写里边的方法 在 getCount() 中返回的是Framgent的个数
在 getItem中条目展示类型.vp.setAdapter(new FragmentPagerAdapter( getSupportFragmentManager()) { // @Override public int getCount() { return 3; } //条目展示类型. @Override public Fragment getItem(int position) { Fragment fragment = null; switch (position) { case 0: fragment = new Fragment1(); break; case 1: fragment = new Fragment2(); break; case 2: fragment = new Fragment3(); break; } return fragment; } });
4.给每一个按钮一个点击事件,通过点击事件给边按钮的背景色,以及vp的item
@Override public void onClick(View view) { switch (view.getId()){ case R.id.but1: switchBut(1); vp.setCurrentItem(0); break; case R.id.but2: switchBut(2); vp.setCurrentItem(1); break; case R.id.but3: switchBut(3); vp.setCurrentItem(2); break; } }上边调用的方法,我们抽出来一个方法下边还有调用
private void switchBut(int i) { switch (i){ case 1: but1.setBackgroundColor(Color.YELLOW); but2.setBackgroundColor(Color.WHITE); but3.setBackgroundColor(Color.WHITE); break; case 2: but1.setBackgroundColor(Color.WHITE); but2.setBackgroundColor(Color.YELLOW); but3.setBackgroundColor(Color.WHITE); break; case 3: but1.setBackgroundColor(Color.WHITE); but2.setBackgroundColor(Color.WHITE); but3.setBackgroundColor(Color.YELLOW); break; } }
5.给ViewPager一个监听事件
vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { switch (position){ case 0: switchBut(1); break; case 1: switchBut(2); break; case 2: switchBut(3); break; } } @Override public void onPageScrollStateChanged(int state) { } });
2 0
- ViewPager与Fragment结合的简单使用
- ViewPager与Fragment结合使用
- fragment与viewPager的结合
- ViewPager+Fragment的结合使用
- ViewPager+Fragment的结合使用
- Android 关于ViewPager结合碎片Fragment的简单使用
- 多层Fragment与ViewPager结合使用
- Fragment与ViewPager的使用
- Android - Fragment+ViewPager结合使用
- TabLayout,ViewPager,Fragment结合使用
- TabLayout/ViewPager/Fragment结合使用
- ViewPager与Fragment结合使用,可滑动,可点击
- ViewPager与Fragment结合使用,可滑动,可点击
- android控件篇:ViewPager+Fragment+GridView的使用(与AndroidQuery框架结合)
- android控件篇:ViewPager+Fragment+GridView的使用(与AndroidQuery框架结合)
- ViewPager与Fragment结合使用时遇到的坑(notifyDataSetChanged()无效, 懒加载)
- ViewPager和Fragment的结合
- PhotoView结合ViewPager的简单使用
- iOS屏幕截图功能
- 如何解决使用glog和gflags时遇到的错误
- 操作系统概论(2)
- Unity3D for VR 学习(5): VR Gaze Input
- Hibernate常用注解标记
- ViewPager与Fragment结合的简单使用
- Unity3D for VR 学习(6): 再次温故知新-3D数学
- iOS中UI事件处理YRUISignal
- Java线程:线程栈模型与线程的变量
- toll-free bridging
- sqlserver、Mysql、Oracle三种数据库的优缺点总结
- 线程安全和线程不安全理解
- 水平进度条,添加颜色变化
- Unity3D for VR 学习(7): 360°全景照片