ViewPager+Fragment实现左右滑动页
来源:互联网 发布:淘宝外贸原单店铺推荐 编辑:程序博客网 时间:2024/05/17 01:41
思路:
每一个Tab里面的内容都放到一个fragment里面,然后再每个fragment里面处理具体的业务逻辑,在主页面上,像加入view那样加入fragment.
首先来看fragment里面代码:
/** * Created by LiuHuiChao on 2015/11/16. */public class ViewPagerFragment1 extends Fragment { private String text; private TextView tv = null; public ViewPagerFragment1(){} @SuppressLint("ValidFragment") public ViewPagerFragment1(String text){ super(); this.text = text; } /** * 覆盖此函数,先通过inflater inflate函数得到view最后返回 */ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.tab1, container, false); tv = (TextView)v.findViewById(R.id.tv); tv.setText(text); return v; }}
fragment对应的layout:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/tv" android:textSize="20dp" android:layout_gravity="center" android:layout_weight="1" android:text="tab1" /></LinearLayout>
之后是主页:
/** * Created by LiuHuiChao on 2015/11/16. */public class ViewPagerFragment extends FragmentActivity { /** 页面list **/ List<Fragment> fragmentList = new ArrayList<Fragment>(); /** 页面title list **/ List<String> titleList = new ArrayList<String>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.content_main3); ViewPager pager=(ViewPager)findViewById(R.id.viewPagerThree); fragmentList.add(new ViewPagerFragment1("页面1")); fragmentList.add(new ViewPagerFragment1("页面2")); fragmentList.add(new ViewPagerFragment1("页面3")); titleList.add("title 1 "); titleList.add("title 2 "); titleList.add("title 3 "); pager.setAdapter(new TestFragmentPagerAdapter(getSupportFragmentManager(), fragmentList, titleList)); } class TestFragmentPagerAdapter extends FragmentPagerAdapter{ private List<Fragment> fragmentList; private List<String> titleList; public TestFragmentPagerAdapter(FragmentManager fm,List<Fragment> fragmentList,List<String> titleList) { super(fm); this.fragmentList=fragmentList; this.titleList=titleList; } @Override public CharSequence getPageTitle(int position) { //return (titleList.size() > position) ? titleList.get(position) : ""; return titleList.get(position); } @Override public Fragment getItem(int position) { return (fragmentList == null || fragmentList.size() == 0) ? null : fragmentList.get(position); } @Override public int getCount() { return fragmentList == null ? 0 : fragmentList.size(); } }}
主页对应layout:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <android.support.v4.view.ViewPager android:id="@+id/viewPagerThree" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" > <android.support.v4.view.PagerTabStrip android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="top" /> </android.support.v4.view.ViewPager></LinearLayout>
run了一下,发现以前自己想改掉的bug还在,明天再改吧,我的鱿鱼丝吃完了,而且我 也困了。感觉用fragment做的方式更好,感谢百度!明天收拾那两个小bug。晚安,亲们!
4 0
- ViewPager+Fragment实现左右滑动页
- Fragment+ViewPager实现左右滑动
- ViewPager结合Fragment实现页面左右滑动
- AppBarLayout、ViewPager、Fragment实现页面左右滑动
- Android之实现ViewPager+Fragment左右滑动
- Viewpager+Fragment实现左右滑动切换页面
- ViewPager左右滑动Fragment
- Fragment+ViewPager 左右滑动 Demo
- viewpager 实现左右滑动
- 终结者:借助ViewPager实现Fragment左右滑动
- 在ViewPager中使用Fragment实现界面左右滑动
- BottomNavigationView + ViewPager + Fragment 实现左右滑动和下方导航栏
- ActionBar(7) ActionBar+ViewPager+Fragment 实现可左右滑动的Tab页布局
- android 学习之Fragment+ViewPager实现页面左右滑动标签页
- viewpager+fragment左右滑动切换页面
- ViewPager实现左右循环滑动
- 实现左右滑动—ViewPager
- 实现viewPager无限左右滑动
- redis的php类-使用socket通信
- android HttpClient获取json数据
- 利用predis操作redis方法大全
- linux下php开发自定义扩展库
- 关于创业,感觉这句话说到了点子上
- ViewPager+Fragment实现左右滑动页
- 从下至上按层遍历二叉树
- android基础--Handler,Loop,MessageQueue
- tomcat图形化界面管理及数据源配置
- Notification相关和一些关键点收集
- 交叉验证
- PHP 计算下个月当天日期,解决跨年和2月份的各种问题
- Educational Codeforces Round 1 A. Tricky Sum(简单模拟求和)
- Educational Codeforces Round 1 B. Queries on a String(字符串简单操作)