如何只使用2个标签和每个标签视图,屏幕宽度为50%?喜欢当前的Youtube应用程序。请帮忙。
以下截图(左)是来自android(右)的示例是当前的Youtube app:
答案 0 :(得分:2)
只有这样才能修改SlidingTabLayout的源代码。
要获取当前窗口大小,您可以使用此方法:
public static Point getWindowSize(Activity ac) {
Point size;
Display display = ac.getWindowManager().getDefaultDisplay();
display.getSize(size);
return size;
}
比在populateTabStrip方法中添加布局参数
mTabStrip.addView(tabView);
方法
像这样的Smth
width = getWindowSize().x;
mTabStrip.addView(tabView,
new LinearLayout.LayoutParams(width/2, ViewGroup.LayoutParams.WRAP_CONTENT));
答案 1 :(得分:0)
尝试在PagerAdapter中覆盖此方法(我假设您正在使用ViewPager):http://developer.android.com/reference/android/support/v4/view/PagerAdapter.html#getPageWidth%28int%29
答案 2 :(得分:0)
这对我来说非常适合。
mTabStrip.addView(tabView);
从SlidingTabLayout中的populateTabStrip()到
DisplayMetrics display = this.getResources().getDisplayMetrics();
int width = display.widthPixels;
mTabStrip.addView(tabView,
new LinearLayout.LayoutParams(width/2, ViewGroup.LayoutParams.WRAP_CONTENT));
我想没有必要按照上一个答案中的建议创建方法getWindowSize(Activity ac)。
答案 3 :(得分:0)
如果其他人需要这个,我将SlidingTab类作为库发布,它有一个方法可以通过调用setDistributeEvenly(true);
来解决这个问题。以下是如何使用它的示例:
SlidingTabLayout slidingTabLayout = (SlidingTabLayout) view.findViewById(R.id.sliding_tabs);
slidingTabLayout.setDistributeEvenly(true);
slidingTabLayout.setViewPager(viewPager);
图书馆位于https://github.com/nispok/slidingtabs。要通过Gradle安装它,请包括:
compile 'com.nispok:slidingtabs:1.0.0'
希望它有所帮助!