Android使用TabLayou+fragment+viewpager实现滑动切换页面效果

 更新时间:2017年05月17日 09:50:18   作者:正在奋斗中的菜鸟  
这篇文章主要介绍了Android使用TabLayou+fragment+viewpager实现滑动切换页面效果,需要的朋友可以参考下

 TabLayou 主要实现的是标题头的 滑动 这个 控件 类似于 ScrollView

XML中的布局

<LinearLayout
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:orientation="horizontal"
  >
  <android.support.design.widget.TabLayout
   android:id="@+id/homefragment_tablelayouts"
   android:layout_width="0dp"
   android:layout_height="30dp"
   app:tabIndicatorHeight="2dp"
   android:layout_weight="1"
   app:tabIndicatorColor="@color/colorred"
   app:tabSelectedTextColor="#000000"
   app:tabMode="scrollable"
   >
  </android.support.design.widget.TabLayout>
  <ImageView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:src="@drawable/add_channel_titlbar_new"
   />
 </LinearLayout>
 <android.support.v4.view.ViewPager
  android:layout_weight="1"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:id="@+id/homefragment_vp"
  ></android.support.v4.view.ViewPager>

以下是代码的实现

//定义一个方法 
 public void getVpTitleData() {
 // 找到 TabLayou 控件
  TabLayout mTabLayout= (TabLayout) getView().findViewById(R.id.homefragment_tablelayouts);
  // 找到 ViewPager 控件
  ViewPager mViewPager= (ViewPager) getView().findViewById(R.id.homefragment_vp);
  //定义 title 集合 来存储 解析的data数据
  listtitle = new ArrayList<>();
  listtitle .add("头条");
  listtitle .add("社会");
  listtitle .add("国内");
  listtitle .add("国际");
  listtitle .add("明星");
  listtitle .add("娱乐");
  listtitle .add("军事");
  listtitle .add("财经");
  listtitle .add("时尚");
  listtitle .add("八卦");
  //遍历 listtitle 集合 将title 添加经 TabLayou z中
  for (int i = 0; i <listtitle.size() ; i++) {
   mTabLayout.addTab(mTabLayout.newTab().setText(listtitle.get(i)));
  }
  //创建集合 循环添加创建的Fragment
  listfragment = new ArrayList<>();
  for (int i = 0; i <date.size() ; i++) {
   BeiJingFragment mjingFragment = new BeiJingFragment();
   listfragment.add(mjingFragment);
  }
  HomeFragmentVPFragmentAdapter mAdapter = new HomeFragmentVPFragmentAdapter(getFragmentManager(),listfragment,listtitle);
  //给ViewPager设置适配器
  mViewPager.setAdapter(mAdapter);
  //将TabLayout和ViewPager关联起来。
  mTabLayout.setupWithViewPager(mViewPager);
  //给TabLayout设置适配器
  mTabLayout.setTabsFromPagerAdapter(mAdapter);
 }

ViewPafer与Fragment的适配器

public class HomeFragmentVPFragmentAdapter extends FragmentStatePagerAdapter {
 List<Fragment> listfragment;
 List<String> listtitle;
 public HomeFragmentVPFragmentAdapter(FragmentManager fm, List<Fragment> listfragment, List<String> listtitle) {
  super(fm);
  this.listfragment = listfragment;
  this.listtitle = listtitle;
 }
 @Override
 public CharSequence getPageTitle(int position) {
  return listtitle.get(position);
 }
 @Override
 public Fragment getItem(int position) {
  return listfragment.get(position);
 }
 @Override
 public int getCount() {
  return listfragment.size();
 }
}

这里写图片描述

以上所述是小编给大家介绍的Android使用TabLayou+fragment+viewpager实现滑动切换页面效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Android编程之计时器Chronometer简单示例

    Android编程之计时器Chronometer简单示例

    这篇文章主要介绍了Android计时器Chronometer简单用法,结合实例形式分析了Android计时器Chronometer的定义、事件响应及界面布局相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • Android给app设置自定义铃声功能

    Android给app设置自定义铃声功能

    这篇文章主要为大家详细介绍了Android给app设置自定义铃声功能的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • Android应用的Material设计中图片的相关处理指南

    Android应用的Material设计中图片的相关处理指南

    这篇文章主要介绍了Android应用的Material设计中图片的相关处理指南,除了介绍新的方法外文中还给出了一些设计标准样例仅供参考,需要的朋友可以参考下
    2016-04-04
  • android自动工具类TextUtils使用详解

    android自动工具类TextUtils使用详解

    这篇文章主要介绍了android自动工具类TextUtils的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • Android实现粒子中心扩散动画效果

    Android实现粒子中心扩散动画效果

    粒子动画效果相比其他动画来说是非常复杂了的,主要涉及三个方面,粒子初始化、粒子位移、粒子回收等问题,本篇将实现两种动画效果,代码基本相同,只是旋转速度不一样,需要的朋友可以参考下
    2024-02-02
  • recycleview实现拼多多首页水平滑动效果

    recycleview实现拼多多首页水平滑动效果

    这篇文章主要为大家详细介绍了recycleview实现拼多多首页水平滑动效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • Android Messenger实现进程间双向通信

    Android Messenger实现进程间双向通信

    这篇文章主要为大家详细介绍了Messenger实现进程间双向通信,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • android打开rar压缩文件

    android打开rar压缩文件

    这篇文章主要介绍了android打开rar压缩文件示例,调用RAR for android 打开压缩文件,需要的朋友可以参考下
    2014-03-03
  • 详解Android Flutter如何使用相机实现拍摄照片

    详解Android Flutter如何使用相机实现拍摄照片

    在app中使用相机肯定是再平常不过的一项事情了,相机肯定涉及到了底层原生代码的调用,那么在flutter中如何快速简单的使用上相机的功能呢?一起来看看吧
    2023-04-04
  • Android 实现自定义折线图控件

    Android 实现自定义折线图控件

    这篇文章主要介绍了Android 实现自定义折线图控件,文章围绕主题相关内容展开详细的内容介绍,具有一定的参考价值,更兴趣的小伙伴可以参考一下
    2022-06-06

最新评论