你的位置:首页 > 操作系统

[操作系统]将Tab栏居中的方法


找到Android SlidingTabLayout源代码,在Android SlidingTabLayout源代码中有一个方法:
private void populateTabStrip();

 1 private void populateTabStrip() { 2     final PagerAdapter adapter = mViewPager.getAdapter(); 3     final View.OnClickListener tabClickListener = new TabClickListener(); 4  5     for (int i = 0; i < adapter.getCount(); i++) { 6       View tabView = null; 7       TextView tabTitleView = null; 8  9       if (mTabViewLayoutId != 0) {10         // If there is a custom tab view layout id set, try and inflate11         // it12         tabView = LayoutInflater.from(getContext()).inflate(mTabViewLayoutId, mTabStrip, false);13         tabTitleView = (TextView) tabView.findViewById(mTabViewTextViewId);14       }15 16       if (tabView == null) {17         tabView = createDefaultTabView(getContext());18       }19 20       if (tabTitleView == null && TextView.class.isInstance(tabView)) {21         tabTitleView = (TextView) tabView;22       }23 24       tabTitleView.setText(adapter.getPageTitle(i));25       tabView.setOnClickListener(tabClickListener);26       27       mTabStrip.addView(tabView);28     }29   }

这是谷歌官方实现的Android SlidingTabLayout添加底部选项卡Tab的代码,如果为了实现前文所述的将Tab均分水平位置空间,则需要修改此方法,在此方法中添加如下代码:

1 LinearLayout.LayoutParams layoutParams= new LinearLayout.LayoutParams(0, LayoutParams.WRAP_CONTENT, 1.0f);2       tabView.setLayoutParams(layoutParams);

这两段代码将tab view水平均分放置。

最终将private void populateTabStrip()改进成这样:

 1 private void populateTabStrip() { 2     final PagerAdapter adapter = mViewPager.getAdapter(); 3     final View.OnClickListener tabClickListener = new TabClickListener(); 4  5     for (int i = 0; i < adapter.getCount(); i++) { 6       View tabView = null; 7       TextView tabTitleView = null; 8  9       if (mTabViewLayoutId != 0) {10         // If there is a custom tab view layout id set, try and inflate11         // it12         tabView = LayoutInflater.from(getContext()).inflate(mTabViewLayoutId, mTabStrip, false);13         tabTitleView = (TextView) tabView.findViewById(mTabViewTextViewId);14       }15 16       if (tabView == null) {17         tabView = createDefaultTabView(getContext());18       }19 20       if (tabTitleView == null && TextView.class.isInstance(tabView)) {21         tabTitleView = (TextView) tabView;22       }23 24       tabTitleView.setText(adapter.getPageTitle(i));25       tabView.setOnClickListener(tabClickListener);26 27       //添加28       LinearLayout.LayoutParams layoutParams= new LinearLayout.LayoutParams(0, LayoutParams.WRAP_CONTENT, 1.0f);29       tabView.setLayoutParams(layoutParams);30       //添加31       32       mTabStrip.addView(tabView);33     }34   }

 




丽江旅游团报价什么时候去丽江旅游最好去丽江旅游最佳路线丽江旅游景点推荐丽江跟团旅游报价多少暑假旅游有哪些便宜的机票出售? 屏南耕读文化大观园好玩吗?有什么特色? 2015年七夕是什么时候? 自己一个人去旅行的话,要注意些什么? 清远英德风车节有什么好玩的?英德风车节活动? 2015清远英德五一哪里有好玩的?五一去英德哪里好玩? 英德风车节举办多久?2015清远英德风车节到什么时候? 2015英德风车节时间?清远英德风车节几号开幕? 厦门鼓浪屿珍奇世界门票多少? 三亚海棠湾有什么好玩的? 厦门鼓浪屿珍奇世界怎么走? 北京动物园门票价格?开放时间? 锦绣中华民俗村好玩吗?深圳锦绣中华民俗村有什么特色? 锦绣中华民俗村门票多少钱?深圳锦绣中华民俗村门票含表演吗? 番禺长隆欢乐世界乘车方便吗?广州长隆欢乐世界在哪里坐车? 长隆欢乐世界门票多少钱?广州长隆欢乐世界门票价格? IDT71T75702S75BG8 Datasheet IDT71T75702S75BG8 Datasheet IDT71T75702S75BGI Datasheet IDT71T75702S75BGI Datasheet IDT71T75702S75BGI8 Datasheet IDT71T75702S75BGI8 Datasheet 深圳羊台山好玩吗 深圳羊台山好玩吗 深圳羊台山好玩吗 深圳中心公园好玩吗 深圳中心公园好玩吗 深圳中心公园好玩吗 打电话订票要钱吗 打电话订票要钱吗 打电话订票要钱吗