TabLayout和viewpager的完美结合
2017-10-14 09:30
267 查看
我们在应用viewpager的时候,经常会使用TabPageIndicator来与其配合。达到很漂亮的效果。但是TabPageIndicator是第三方的,而且比较老了,当然了现在很多大神都已经开始自己写TabPageIndicator来满足自己的需求,在2015年的google大会上,google发布了新的
Android Support Design库,里面包含了几个新的控件,其中就有一个TabLayout,它就可以完成TabPageIndicator的效果,而且还是官方的,最好的是它可以兼容到2.2以上版本,包括2.2。下面我就举一个简单的例子来使用它。 我使用的 android studio进行开发的,所以引用TabLayout很简单,只要在build.gradle中加compile'com.android.support:design:26.0.0-alpha1'即可。1.布局
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.bwie.skn.tablayout.MainActivity"> <android.support.design.widget.TabLayout android:id="@+id/tl" android:layout_width="match_parent" android:layout_height="50dp" app:tabGravity="center" app:tabIndicatorColor="@color/colorAccent" app:tabMode="scrollable" app:tabTextColor="@color/colorPrimary" ></android.support.design.widget.TabLayout> <android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@+id/tl" ></android.support.v4.view.ViewPager> </RelativeLayout>2.代码package com.bwie.skn.moni.indent;import android.os.Bundle;import android.support.design.widget.TabLayout;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.util.Log;import com.bwie.skn.moni.R;import java.util.ArrayList;import java.util.List;public class IndentListActivity extends AppCompatActivity {private TabLayout tl;private ViewPager vp;private List<String> datas = new ArrayList<String>();private String[] status = new String[]{"4","0","1","2"};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_indent_list);tl = (TabLayout) findViewById(R.id.tl);vp = (ViewPager) findViewById(R.id.vp);datas.add("全部");datas.add("待支付");datas.add("已支付");datas.add("已取消");vp.setAdapter(new MyAdapter(getSupportFragmentManager()));//进行关联tl.setupWithViewPager(vp);}class MyAdapter extends FragmentPagerAdapter {//带参的构造方法public MyAdapter(FragmentManager fm) {super(fm);}@Overridepublic int getCount() {return datas.size();}//返回选项卡的文本 ,,,添加选项卡@Overridepublic CharSequence getPageTitle(int position) {return datas.get(position);}@Overridepublic Fragment getItem(int position) {//创建fragment对象并返回Bundle bundle = new Bundle();Log.e("UUUUU",status[position]);bundle.putString("url", status[position]);//实例化FragmentAllFragment allFragment = new AllFragment();allFragment.setArguments(bundle);return allFragment;}}}3.fragment中接收Bundle bundle = getArguments();String urlTitle = bundle.getString("url").toString();
///垂直的
//需要导入依赖
compile 'q.rorbin:VerticalTabLayout:1.2.5'
//布局文件
<?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"android:orientation="horizontal"><!--VerticalTabLayout是竖向的标题栏,与TabLayout用法相同,不过需要导入依赖--><q.rorbin.verticaltablayout.VerticalTabLayoutandroid:id="@+id/vt"android:layout_width="100dp"android:layout_height="match_parent" /><android.support.v4.view.ViewPagerandroid:id="@+id/vp"android:layout_width="wrap_content"android:layout_height="wrap_content" /></LinearLayout>
相关文章推荐
- 完美解决Google最新的Design:TabLayout结合ViewPager无法显示Icon的问题
- TabLayout与FragmentViewPager结合使用遇到的问题
- 最流行框架---viewpager,fragment完美结合
- 与ViewPager完美结合的顺滑引导条系列之三
- 与ViewPager完美结合的顺滑引导条系列之需求分析
- 与ViewPager完美结合的顺滑引导条系列之一
- 与ViewPager完美结合的顺滑引导条系列之二
- scrollview与viewpager结合的依赖工程
- TabLayout的ViewPager中的Fragment点击刷新的问题
- 【Android您问我讲】带左右滑动的选项卡 - ViewPager与Tabhost的结合使用
- Activity和ViewPager的结合使用
- android关于TabLayout+ViewPager结合使用的小Demo
- Android ViewPager、Fragment、组合控件结合使用(滑动切换,点击导航切换)
- tabLayout和ViewPager的滑动关联 以及tabLayout和ViewPager的布局
- TabLayout实现ViewPager指示器的方法
- Android中TabLayout和ViewPager的结合使用
- Android 关于ViewPager结合碎片Fragment的简单使用
- viewpager与碎片的结合
- ScrollView viewPager ListView 结合使用的问题及解决办法
- ImageLoader进阶(结合ListView、ViewPager使用)