Fragment+ViewPager实现滑动换页
来源:互联网 发布:证券软件均线咋看 编辑:程序博客网 时间:2024/05/16 06:11
先看效果图:
虽然TabHost可以做出这样的效果,但是TabHost不能实现换页,这里用Fragment+ViewPager实现。
**1、在res/layout中新建每个自定义fragment的内容fragment1.xml……
2、在java代码中新建fragment1的类,并让其继承Fragment.要注意这里使用的是import android.support.v4.app.Fragment;的包,导入错了得不到想要的效果的。**
public class Fragment1Activity extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.activity_fragment1,container,false); }
**类似的为fragment2.xml和fragment3.xml建立对应的类。
3、在主页面的.xml中加入ViewPager和fragment的标签。**
<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" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <android.support.v4.view.ViewPager android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/viewPager"> <android.support.v4.view.PagerTabStrip android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/pagerTab"> <fragment android:layout_height="fill_parent" android:layout_width="fill_parent" android:name="mhwang.com.fragmentandviewpager.Fragment1Activity"> </fragment> </android.support.v4.view.PagerTabStrip> </android.support.v4.view.ViewPager></RelativeLayout>
4、建立自已的适配器类,继承自FragmentPagerAdapter需要实现以下几个方法。
/** * * 自定义适配器 * **/ public class MyAdapter extends FragmentPagerAdapter{ public MyAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int i) { return fragments.get(i); } @Override public int getCount() { return fragments.size(); } @Override public CharSequence getPageTitle(int position) { return titles.get(position); } }
5、在主页面的Activity中继承FragmentActivity,并创建Fragment的数据集和标题集。
public class MainActivity extends FragmentActivity { private List<Fragment> fragments = new ArrayList<Fragment>(); //碎片列表 private List<String> titles = new ArrayList<String>(); //标题列表 private ViewPager viewPager; //viewPager控件 private PagerTabStrip tabStrip; //PagerTabStrip控件 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init(){ viewPager = (ViewPager)findViewById(R.id.viewPager); tabStrip = (PagerTabStrip)findViewById(R.id.pagerTab); Fragment1Activity fragment1 = new Fragment1Activity(); Fragment2Activity fragment2 = new Fragment2Activity(); Fragment3Activity fragment3 = new Fragment3Activity(); //将自定义的fragment放进列表 fragments.add(fragment1); fragments.add(fragment2); fragments.add(fragment3); titles.add("碎片1"); titles.add("碎片2"); titles.add("碎片3"); //设置上方滑动条的属性 tabStrip.setTabIndicatorColor(Color.RED); tabStrip.setBackgroundColor(Color.BLUE); tabStrip.setTextColor(Color.WHITE); viewPager.setBackgroundColor(Color.GRAY); viewPager.setAdapter(new MyAdapter(getSupportFragmentManager())); }
以下是实现的动态图:
0 0
- Fragment+ViewPager实现滑动换页
- ViewPager+Fragment实现滑动标签
- ViewPager+Fragment实现滑动页面
- ViewPager+Fragment实现滑动页面
- ViewPager + Fragment 实现页面滑动
- viewpager+fragment实现滑动效果
- ViewPager+Fragment实现界面滑动
- 使用Fragment实现ViewPager滑动
- Fragment + ViewPager实现滑动页面
- viewpager+fragment结合实现滑动
- Fragment+ViewPager实现左右滑动
- ViewPager -----使用Fragment实现ViewPager滑动
- ViewPager + Fragment实现滑动标签页
- ViewPager结合Fragment实现页面左右滑动
- 使用FragmentTabHost+Fragment+viewpager 实现滑动分页
- 使用FragmentTabHost+Fragment+viewpager 实现滑动分页
- 【转】ViewPager + Fragment实现滑动标签页
- ViewPager+fragment实现滑动导航栏
- Linux文件存储结构,目录项、inode、数据块
- iOS开发15-iOS SQLite存取图片、视频、音频
- Math 类
- struts中使用this.addFieldError时出现错误解决办法
- 用React和PlanOut来做产品的AB测试
- Fragment+ViewPager实现滑动换页
- 权限验证框架Shiro学习(二)
- [Simple Algorithms] Lesson2 冒泡排序
- device tree基础
- SQL 内连接,外连接数据查询
- .SQL多表查询实例
- 20151101 zhoumo..orz linux内存性能监控
- 项目二(2)
- js简单表格插件开发