微信Tab页切换
参考开源项目PagerSlidingTabStrip
做了一些小修改,比如设置Tab页平均铺满效果、字体变色等微调的代码请 源码下载
关于我
privatevoidaddTab(finalintposition,Viewtab){tab.setFocusable(true);tab.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){pager.setCurrentItem(position);}});tab.setPadding(tabPadding,0,tabPadding,0);setShouldExpand(true);//设置weight=1.0f,实现平铺的效果,addbylichenif(tabinstanceofTextView){if(position==0){//默认首项字体颜色,addbylichen((TextView)tab).setTextColor(getResources().getColor(R.color.deep_green));}else{//其他项字体颜色,addbylichen((TextView)tab).setTextColor(getResources().getColor(R.color.light_green));}}tabsContainer.addView(tab,position,shouldExpand?expandedTabLayoutParams:defaultTabLayoutParams);}
@OverridepublicvoidonPageSelected(intposition){Viewview=tabsContainer.getChildAt(position);if(viewinstanceofImageButton){//如果是图片是Tab页,addbylichen((ImageButton)view).setImageResource(R.drawable.ic_input_add);}elseif(viewinstanceofTextView){setColor(position);}if(delegatePageListener!=null){delegatePageListener.onPageSelected(position);}}/***滑动tab修改字体颜色,bylichen*@paramposition*/privatevoidsetColor(intposition){TextViewtextView0=(TextView)tabsContainer.getChildAt(0);TextViewtextView1=(TextView)tabsContainer.getChildAt(1);TextViewtextView2=(TextView)tabsContainer.getChildAt(2);switch(position){case0:textView0.setTextColor(getResources().getColor(R.color.deep_green));textView1.setTextColor(getResources().getColor(R.color.light_green));textView2.setTextColor(getResources().getColor(R.color.light_green));break;case1:textView0.setTextColor(getResources().getColor(R.color.light_green));textView1.setTextColor(getResources().getColor(R.color.deep_green));textView2.setTextColor(getResources().getColor(R.color.light_green));break;case2:textView0.setTextColor(getResources().getColor(R.color.light_green));textView1.setTextColor(getResources().getColor(R.color.light_green));textView2.setTextColor(getResources().getColor(R.color.deep_green));break;default:break;}}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。