ViewPager 和 TabLayout

来源:互联网 发布:手机光照度测试软件 编辑:程序博客网 时间:2024/06/05 17:28

1.布局代码

<?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="vertical"    xmlns:app="http://schemas.android.com/apk/res-auto">    <android.support.design.widget.TabLayout        android:id="@+id/tablayout"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:background="@color/colorPrimary"        app:tabIndicatorColor="#ffffff"        app:tabIndicatorHeight="2dp"        app:tabMode="fixed"        app:tabSelectedTextColor="#000"        app:tabTextColor="#ffffff">    </android.support.design.widget.TabLayout>    <android.support.v4.view.ViewPager        android:layout_width="wrap_content"        android:layout_height="wrap_content">    </android.support.v4.view.ViewPager></LinearLayout>

2.新建几个布局文件作为ViewPaper的子控件。
3.Java代码

public class MainActivity extends AppCompatActivity {    private TabLayout tablayout;    private ViewPager viewpager;    private List<View> list = new ArrayList<>();    private String[] title = {"TimePicker", "DatePicker"};    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        vierpagersx();/*添加Viewpager*/    }    public void vierpagersx (){        tablayout = (TabLayout) findViewById(R.id.tablayout);        viewpager = (ViewPager) findViewById(R.id.viewpager);        list.add(getLayoutInflater().inflate(R.layout.view1, null));        list.add(getLayoutInflater().inflate(R.layout.view2, null));        viewpager.setAdapter(new MyViewPagerAdapter(title,list));        tablayout.setupWithViewPager(viewpager);    }   }

Adapter

public class MyViewPagerAdapter extends PagerAdapter {    private String[] mTitle;    private List<View> mList;    public  MyViewPagerAdapter(String[] title,List<View> list){        super();        mTitle=title;        mList=list;    }    public int getCount() {        return mList.size();    }    public boolean isViewFromObject(View view, Object object) {        return view==object;    }    public void destroyItem(ViewGroup container, int position, Object object) {        container.removeView(mList.get(position));    }    public CharSequence getPageTitle(int position) {        return mTitle[position];    }    public Object instantiateItem(ViewGroup container, int position) {        container.addView(mList.get(position));        return mList.get(position);    }}
0 0