您的位置:首页 > 其它

Tab

2016-04-25 22:20 387 查看
慕课 仿微信的tab

------------用ViewPager实现------------------------

下边布局四个imagebutton 下个有textview,中间viewpager

给viewpager设置adapter 重写的adapter继承自pageradapter

必须重写两方法,getcount(return mViews.size()),isViewFromObject(){return arg0 == arg1}

还需重写两个方法 instantiateItem{ View view = mViews.get(position); container.addView(view) ; return view;}

destroyItem{ container.removeView(mViews.get(position));

下边四个按钮都设置点击监听事件, 判断id来设置mViewPager的当前页面 mViewpager.setCurrentItem(1);

在这之前先把所有的按钮都设置为暗色 当点击时改色

滑动ViewPager四个按钮也要变化 给mViewPager设置页面变化的监听器。

mViewPager.setOnPagerChangeListener(new OnPagerChangeListenerr()....)

在页面选中的方法中通过判断id来给四个按钮设置图

给imageButton设置clickcble为false 不让他点击 它的父就会处理,我们已经做了处理

---------------Fragment ---------

fm = getFragmentManager()

trransaction = fm.beginTransaction()

hideFragment(trransaction )

trransaction .commit()

。。。。。。。

hideFragment(trransaction ){

if(mTab01!=null)

transaction.hide(mTab01);

}

在要显示的地方

if(mTab01==null)

mTab01= new Fragment1;

transaction.add(R.id.content,mTan01)

else{

transaction.show(mTab01);

}

(用v4包下的Fragment的话 MainAcitivity继承FragmentActivity ,用getSupportFragmentManager,记住都用同一个包下的Fragment)

----------------------FragmentPagerAdapter-------------------------------------(Google推荐)

用Fragment不能左右拖动。初始化各管各,适配也好

让Fragment也能拖动 ViewPager+Fragment

给ViewPager设置一个 new FragmentPagerAdaoter

给ViewPager.setOnPagerChangeListener(new OnPagerChangerListener())

在页面选中的方法中 getCurrentItem

用ViewPager,所用的Fragment都在mainActivity中初始化 每个Fragment中可能有很多初始化内容,造成mainactivity内容多,不宜维护

-------------------------

优化布局层次

include

merge

ViewStub

-----------------------------------------------------------

fm = getFragmentManager()

trransaction = fm.beginTransaction()

.....

trransaction .commit()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: