我正在使用SlidingTabLayout和我自己的自定义标签布局。一切都按预期工作;选项卡正确显示(标题,顺序,颜色等),但是,setDistributeEvenly在此方案中不起作用。较短的标签选项卡比较短的标签选项卡具有更长的选择指示。例如,"篮球"有比#34; Golf"更长的指示器。这是我的代码。如您所见,setDistributeEvenly设置为true。
ViewPager pager;
ViewPagerAdapter adapter;
SlidingTabLayout tabs;
adapter = new ViewPagerAdapter(getSupportFragmentManager(), 10, this);
pager = (ViewPager) findViewById(R.id.pager);
pager.setAdapter(adapter);
tabs = (SlidingTabLayout) findViewById(R.id.tab_layout);
tabs.setCustomTabView(R.layout.custom_tab, R.id.textView2);
tabs.setDistributeEvenly(true);
tabs.setBackgroundColor(getResources().getColor(R.color.red));
tabs.setSelectedIndicatorColors(getResources().getColor(R.color.white));
tabs.setViewPager(pager);
这是我的自定义布局:
<?xml version="1.0" encoding="utf-8"?>
<TextView
android:id="@+id/tab_title"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="8dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="8dp"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#ffffff"/>
我已尝试将布局宽度和高度设置为match_parent,wrap_content和不同的&#34; dp&#34; s的各种组合,但也无济于事。您在上面看到的填充不会根据指标的长度发生任何变化。
您对此方案中setDistributeEvenly(true)失败的原因有什么想法吗?
答案 0 :(得分:0)
你应该设置tabLayout gravity:
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
并且不要将tabLayout设置为可滚动(app:tabMode =&#34;可滚动&#34;)否则重力填充将无效。检查一下 Link