Tablayout的简单应用
来源:互联网 发布:佛教通史知无涯 编辑:程序博客网 时间:2024/04/30 08:11
Tablayout
android studio 中添加依赖
compile 'com.android.support:design:22.2.0'
xml布局中
<android.support.design.widget.TabLayout android:id="@+id/tablayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/green" app:tabIndicatorColor="@color/white" app:tabSelectedTextColor="@color/red" app:tabTextColor="@color/black" /> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent" />
其中,app:tabIndicatorColor="@color/white" //下划线的颜色 app:tabSelectedTextColor="@color/red" //选中条目的字体颜色 app:tabTextColor="@color/black" //不选中的字体颜色
Activity中
public class TablayoutActivity extends BaseActivity { private List<String> titleList; private List<Fragment> fragmentList; private TablayoutFragment tablayoutFragment; private FrescoFragment frescoFragment; private PicassoFragment picassoFragment; private SwipeRefeshLayoutFragment swipeRefeshLayoutFragment; private TablayoutFragmentAdapter tablayoutFragmentAdapter; @BindView(R.id.tablayout) TabLayout tablayout; @BindView(R.id.viewpager) ViewPager viewpager; @Override public void setView() { setContentView(R.layout.activity_tablayout); ButterKnife.bind(this); setLeft(); setMid("Tablayout"); } @Override public void init() { titleList = new ArrayList<>(); fragmentList = new ArrayList<>(); titleList.add("Tablayout"); titleList.add("Fresco"); titleList.add("Picasso"); titleList.add("SwipeRefeshLayout"); tablayout.setTabMode(TabLayout.MODE_SCROLLABLE); for (int i = 0; i < titleList.size(); i++) { tablayout.addTab(tablayout.newTab().setText(titleList.get(i))); } tablayoutFragment = new TablayoutFragment(); frescoFragment = new FrescoFragment(); picassoFragment = new PicassoFragment(); swipeRefeshLayoutFragment = new SwipeRefeshLayoutFragment(); fragmentList.add(tablayoutFragment); fragmentList.add(frescoFragment); fragmentList.add(picassoFragment); fragmentList.add(swipeRefeshLayoutFragment); tablayoutFragmentAdapter = new TablayoutFragmentAdapter(getSupportFragmentManager(), fragmentList, titleList); viewpager.setAdapter(tablayoutFragmentAdapter); tablayout.setupWithViewPager(viewpager); }
tablayout.setTabMode();设置tablayout的模式,属性值有两种 TabLayout.MODE_SCROLLABLE:tabs很多的时候显示完整,可以滑动 TabLayout.MODE_FIXED:tabs很多的时候显示不完整,全部显示,不能滑动 MODE_FIXED:Fixed tabs display all tabs concurrently and are best used with content that benefits from quick pivots between tabs. MODE_SCROLLABLE:Scrollable tabs display a subset of tabs at any given moment, and can contain longer tab labels and a larger number of tabs.
viewpager的adapter
public class TablayoutFragmentAdapter extends FragmentPagerAdapter { private List<Fragment> list; private List<String> stringList; public TablayoutFragmentAdapter(FragmentManager fm, List<Fragment> list, List<String> stringList) { super(fm); this.list = list; this.stringList = stringList; } @Override public Fragment getItem(int position) { return list.get(position); } @Override public int getCount() { return list.size(); } @Override public CharSequence getPageTitle(int position) { return stringList.get(position % stringList.size()); }}
public CharSequence getPageTitle(int position) { return stringList.get(position % stringList.size());}这个方法是用来显示tabs上的文字的
0 0
- Tablayout的简单应用
- TabLayout的简单应用
- TabLayout的简单应用
- HorizontalScrollView+TabLayout+Fragment简单新闻类应用的头部
- Tablayout的应用
- TabLayout的简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- TabLayout的简单用法
- TabLayout的简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- Tablayout的简单使用
- TabLayout的简单使用
- Tablayout的简单使用
- 最广为使用的Java库
- jvisualvm 监控JVM内存的工具
- mysql查看所有存储过程
- 十四章上机2
- Windows7_设置VPN
- Tablayout的简单应用
- 自动布局之cell
- 理解SSL/TLS协议
- 14章示例4
- Android SharedPreferences 简单封装
- Spring Boot中使用自定义的properties
- 工银二维码支付,商户福利等你拿
- 提交应用到iTunes Connect时构建版本“正在处理”后直接消失——此构建版本无效
- 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-03-基于Python的LeNet之LR(转)