关闭

SlidingTabLayout底部选项卡水平居中(系列2)

701人阅读 评论(0) 收藏 举报
分类:
找到Android SlidingTabLayout源代码,在Android SlidingTabLayout源代码中有一个方法:

private void populateTabStrip();


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

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

最终将private void populateTabStrip()改进成这样:
private void populateTabStrip() {
		final PagerAdapter adapter = mViewPager.getAdapter();
		final View.OnClickListener tabClickListener = new TabClickListener();

		for (int i = 0; i < adapter.getCount(); i++) {
			View tabView = null;
			TextView tabTitleView = null;

			if (mTabViewLayoutId != 0) {
				// If there is a custom tab view layout id set, try and inflate
				// it
				tabView = LayoutInflater.from(getContext()).inflate(mTabViewLayoutId, mTabStrip, false);
				tabTitleView = (TextView) tabView.findViewById(mTabViewTextViewId);
			}

			if (tabView == null) {
				tabView = createDefaultTabView(getContext());
			}

			if (tabTitleView == null && TextView.class.isInstance(tabView)) {
				tabTitleView = (TextView) tabView;
			}

			tabTitleView.setText(adapter.getPageTitle(i));
			tabView.setOnClickListener(tabClickListener);

			//添加by Zhang Phil
			LinearLayout.LayoutParams layoutParams= new LinearLayout.LayoutParams(0, LayoutParams.WRAP_CONTENT, 1.0f);
			tabView.setLayoutParams(layoutParams);
			//添加by Zhang Phil
			
			mTabStrip.addView(tabView);
		}
	}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:47186次
    • 积分:1471
    • 等级:
    • 排名:千里之外
    • 原创:103篇
    • 转载:6篇
    • 译文:0篇
    • 评论:6条
    文章分类
    最新评论