Material Design学习之 TabLayout(ViewPager实现页卡最简单方法)
来源:互联网 发布:雷霆vs快船球员数据 编辑:程序博客网 时间:2024/06/08 11:48
在开发中,我们常常需要ViewPager结合Fragment一起使用,我们可以使用三方开源的PagerSlidingTabStrip去实现,或者viewpagerindicator,我一般都偏向前者。现在我们可以使用Design support library库的TabLayout去实现了。
实现方法
1、gradle文件中添加依赖
com.android.support:design:26.0.0
2、设置布局文件
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.design.widget.TabLayout android:id="@+id/mWritTable" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabBackground="@drawable/tab_design_color" app:tabIndicatorColor="@android:color/transparent" app:tabSelectedTextColor="@color/name_color" app:tabTextColor="@color/edt_color"> </android.support.design.widget.TabLayout> <View style="@style/view_line" /> <android.support.v4.view.ViewPager android:id="@+id/mWritViewPager" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" /></LinearLayout>
这里面没有什么特别的,就是添加了一个TabLayout和Viewpager作为上下的布局。tablayout中tabSelectedTextColor指选中时文字颜色,tabIndicatorColor指滚动条颜色。
3、代码实现
public class MainActivity extends AppCompatActivity { private TabLayout mTabLayout; private ViewPager mViewPager; private MyFragmentPagerAdapter mAdapter; private List<Fragment> mList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init() { mTabLayout=(TabLayout)findViewById(R.id.mWriteTable); mViewPager=(ViewPager)findViewById(R.id.mWriteViewPager); mList = new ArrayList<>(); mList.add(new Tab1()); mList.add(new Tab2()); ArrayList<String> tabTitle =new ArrayList<String>(); tabTitle.add("美女") tabTitle.add("帅哥"); mAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager(), mList, tabTitle); mViewPager.setAdapter(mAdapter); mTabLayout.setupWithViewPager(mViewPager); }}
其中MyFragmentPagerAdapter是ViewPager的适配器
public class MyFragmentPagerAdapter extends FragmentPagerAdapter { private List<Fragment> mList = new ArrayList<>(); private List<String> tabTitles; public MyFragmentPagerAdapter(FragmentManager fm, List<Fragment> list, List<String> tabTitles) { super(fm); this.mList = list; this.tabTitles = tabTitles; } @Override public Fragment getItem(int position) { return mList.get(position); } @Override public int getCount() { return mList.size(); } @Override public CharSequence getPageTitle(int position) { return tabTitles.get(position); }}
运行效果图:
注:我这里是改变的背景颜色,我把下面的滑动条的颜色改变成了透明色,所以是看不见下面的滑动条的,可以自己改一下颜色值。
如有不对的地方欢迎指正。
阅读全文
2 0
- Material Design学习之 TabLayout(ViewPager实现页卡最简单方法)
- Material Design之TabLayout+ViewPager
- Material Design学习之TabLayout
- Material Design之TabLayout的用法(标题栏滑动+ViewPager)
- Material Design整合使用之TabLayout+ViewPager
- Material Design之TabLayout
- Android Material Design 控件之TabLayout 学习
- Android Material Design学习之三TabLayout
- Android Material Design 之 TabLayout学习
- Android Material Design 之 TabLayout学习
- Android Material design 中TabLayout+Viewpager实现导航栏
- Android Material Design系列之Tablayout,Fragment,Viewpager搭配使用
- android material design之Tablayout,Recyclerview,Fragment,Viewpager搭配使用(四)
- Material Design 系列(4)—TabLayout&ViewPager&Fragment
- Material Design 笔记之 TabLayout
- Material Design-UI之TabLayout
- Android Material Design 之 TabLayout
- Material Design控件之TabLayout
- Spring Boot Multiple Datasource
- Spring security使用/不使用MD5加密匹配数据库
- 嵌入式Linux系统设计--第三章:嵌入式系统软件基础
- 邮箱地址有效性验证功能中验证结果不准确原因分析
- 修改MySQL数据库root用户密码
- Material Design学习之 TabLayout(ViewPager实现页卡最简单方法)
- Android5.0新特性:Toolbar标题栏
- TabLayout的使用
- unity3d优化总结篇
- IT培训行业揭秘(一)
- SlidingMenu侧拉抽屉框架
- CentOS7 安装java jdk7
- 用来禁止指定的可验证元素的验证方法
- Spring4学习笔记(八):通过注解的方式配置bean和@Autowired 自动装配