功能是利用viewpager,通过按钮 btn1 和按钮 btn2 切换fragment1页面和fragment2页面。

下面是activity_main.xml布局文件:(底部两个按钮,上面一个ViewPager)

<?xml version="1.0" encoding="utf-8"?>            

 用ViewPager需要一个adapter来绑定数据,因为ViewPager常常和Fragment组合使用,所以有专门的FragmentPagerAdapter可供使用。

public class MyFragmentPagerAdapter extends FragmentPagerAdapter {    private int PAGER_COUNT = 2;    private Fragment1 fragment1 = null;    private Fragment2 fragment2 = null;    public MyFragmentPagerAdapter(FragmentManager fm) {        super(fm);        fragment1 = new Fragment1();        fragment2 = new Fragment2();    }    @Override    public Fragment getItem(int i) {        Fragment fragment = null;        switch (i) {            case MainActivity.PAGE_ONE:                fragment = fragment1;                break;            case MainActivity.PAGE_TWO:                fragment = fragment2;                break;        }        return fragment;    }    @Override    public int getCount() {        return PAGER_COUNT;    }

MainActivity类,必须实现Fragment1.OnFragmentInteractionListener、Fragment2.OnFragmentInteractionListener、ViewPager.OnPageChangeListener这三个接口

public class MainActivity extends AppCompatActivity implements Fragment1.OnFragmentInteractionListener, Fragment2.OnFragmentInteractionListener,ViewPager.OnPageChangeListener {    private String TAG = "MainActivity";    //Fragment    public static final int PAGE_ONE = 0;    public static final int PAGE_TWO = 1;    private ViewPager vpager;    private MyFragmentPagerAdapter mAdapter;    Button btn1;    Button btn2;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);               initView();        //ViewPager//fragment        mAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager());        vpager = findViewById(R.id.view_pager);        vpager.setAdapter(mAdapter);        vpager.setCurrentItem(PAGE_ONE);        vpager.addOnPageChangeListener(this);          }    private void initView(){        btn1 = findViewById(R.id.btn_1_page);        btn2 = findViewById(R.id.btn_2_page);        //设置drawableTop        btn1.setCompoundDrawablesWithIntrinsicBounds(0, R.mipmap.folder_36dp, 0, 0);        btn1.setTextColor(getResources().getColor(R.color.mainColor));        btn1.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                setPageOne();            }        });        btn2.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                setPageTwo();            }        });    }    private void setPageOne(){        vpager.setCurrentItem(PAGE_ONE);        btn1.setCompoundDrawablesWithIntrinsicBounds(0, R.mipmap.img, 0, 0);        btn1.setTextColor(getResources().getColor(R.color.mainColor));        btn2.setCompoundDrawablesWithIntrinsicBounds(0, R.mipmap.img_grey, 0, 0);        btn2.setTextColor(getResources().getColor(R.color.gray));    }    private void setPageTwo(){        vpager.setCurrentItem(PAGE_TWO);        btn2.setCompoundDrawablesWithIntrinsicBounds(0, R.mipmap.img, 0, 0);        btn2.setTextColor(getResources().getColor(R.color.mainColor));        btn1.setCompoundDrawablesWithIntrinsicBounds(0, R.mipmap.img_grey, 0, 0);        btn1.setTextColor(getResources().getColor(R.color.gray));    }            @Override    public void onFragmentInteraction(Uri uri) {    }    @Override    public void onPageScrolled(int i, float v, int i1) {    }    @Override    public void onPageSelected(int i) {        Log.i(TAG,"PAGE"+i);        switch (i){            case 0:                setPageOne();                break;            case 1:                setPageTwo();                break;        }    }    @Override    public void onPageScrollStateChanged(int i) {    }}

 

更多相关文章

  1. Android小例子(点击一个按钮,传递数据给另一个页面)
  2. Android让页面默认弹出输入法的问题
  3. Android顶部菜单栏,返回按钮、标题布局、右上角菜单
  4. Android控件笔记——多状态按钮ToggleButton
  5. 【样式问题】react native Android 键盘将底部导航栏/按钮顶起
  6. android-学习笔记之按钮事件
  7. Android 6.0开发实现关机菜单添加重启按钮的方法
  8. android studio如何合并和读取多个相同功能但是文本不同的按钮
  9. Android开发带图标的按钮

随机推荐

  1. Python—插入排序算法
  2. 2D Numpy Array的边缘值
  3. 学习python的第十六天(迭代器,三元表达式,
  4. python 装饰器和 functools 模块
  5. python新式类删改查
  6. [LeetCode] 244. Shortest Word Distance
  7. 解决SimpleCV的Hello World程序无法显示
  8. Python 2.6.2中的ElementTree处理指令支
  9. 向军laravel和vuejs webAPP实战开发
  10. 在Python中使用正则表达式匹配的字符串周