TabLayout简单使用
来源:互联网 发布:怎么可以增加淘宝店的 编辑:程序博客网 时间:2024/05/15 23:43
介绍
TabLayout是属于Android Design Support Library中的一个控件,顶部或者底部水平的Tab布局,滑动或者点击切换的功能,今天我们简单讲解TabLayout的使用,重点讲解如何自定义TabLayout的item,也就是每一个tab。 参考博客
使用TabLayout
1.添加依赖
compile 'com.android.support:design:23.4.0'
2.布局
通常我们都搭配ViewPager+Fragment使用。
页面用Fragment,放了一个小图标。
<android.support.design.widget.TabLayout android:layout_width="match_parent" android:layout_height="40dp" android:id="@+id/tablayout"> </android.support.design.widget.TabLayout> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/viewpager">
3.然后是ViewPager的适配器
public class MyFragmentAdapter extends FragmentPagerAdapter { private String [] title = {"最新日报","专题","热门","主题日报"}; private List<Fragment> fragmentList; public MyFragmentAdapter(FragmentManager fm, List<Fragment> fragmentList) { super(fm); this.fragmentList = fragmentList; } @Override public Fragment getItem(int position) { return fragmentList.get(position); } @Override public int getCount() { return fragmentList.size(); } @Override public CharSequence getPageTitle(int position) { return title[position]; }}
4.创建几个Fragment 别忘了给fragment布局
public class Theme_Fragment extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.theme_fragment, container,false); return view; }}
5.实现
public class Main2Activity extends AppCompatActivity { private TabLayout tablayout; //定义TabLayout private ViewPager viewpager; //定义viewPager private List<Fragment> fragments; //定义要装fragment的列表 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); fragments = new ArrayList<>(); tablayout = (TabLayout) findViewById(R.id.tablayout); viewpager = (ViewPager) findViewById(R.id.viewpager); //得到Fragment Hot_Fragment hot_fragment = new Hot_Fragment(); News_Fragment news_fragment = new News_Fragment(); Special_Fragment special_fragment = new Special_Fragment(); Theme_Fragment theme_fragment = new Theme_Fragment(); //添加fragment fragments.add(hot_fragment); fragments.add(news_fragment); fragments.add(special_fragment); fragments.add(theme_fragment); //得到适配器 MyFragmentAdapter adapter = new MyFragmentAdapter(getSupportFragmentManager(), fragments); //添加适配器 viewpager.setAdapter(adapter); //添加到tablayout tablayout.setupWithViewPager(viewpager); }}
6.效果
阅读全文
0 0
- TabLayout的简单使用
- TabLayout+ViewPager简单使用
- TabLayout的简单使用
- TabLayout简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- Tablayout的简单使用
- TabLayout 简单使用
- TabLayout的简单使用
- TabLayout简单使用
- Tablayout的简单使用
- TabLayout简单使用
- TabLayout的简单使用
- HDU
- SparkStreaming之基本数据源输入
- 重温数据结构:树 及 Java 实现
- 碰撞回避算法(一) Velocity Obstacle
- Android_广播简介
- TabLayout简单使用
- 大小字母的转化
- C++中的#和##运算符
- XRecyclerview和Recyclerview详解
- AngularJS对页面进行删除+查询+排序
- 封装的工具类
- 【商旅问题、找规律】ZOJ 1037 Gridland
- overpass-api和overpass-turbo安装(ubuntu16.04)
- Spring之父Rod Johnson