SlidingTabLayout 底部填充
Posted
技术标签:
【中文标题】SlidingTabLayout 底部填充【英文标题】:SlidingTabLayout bottom padding 【发布时间】:2015-02-05 09:53:47 【问题描述】:我面临的问题是我的 SlidingTabLayout 中有一种填充。
这是截图
如您所见,背景来自底部的滑块。最近,使用 pagertabstrip 库,我没有看到,但现在我尝试了新的 com.example.android.common.view.SlidingTabLayout 它肯定存在。如何删除此填充?
谢谢
hiere 是 xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_
android:layout_>
<com.example.android.common.view.SlidingTabLayout
android:id="@+id/lib_tabs"
android:layout_
android:layout_
android:background="@android:color/holo_green_light"
/>
<android.support.v4.view.ViewPager
android:id="@+id/lib_pager"
android:layout_
android:layout_
android:layout_weight="1" />
</LinearLayout>
风格
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="windowActionBar">false</item>
<item name="colorPrimary">@color/my_action_bar_color</item>
</style>
<style name="ToolBarStyle" parent="">
<item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
<item name="theme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>
</style>
片段
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
View view = inflater.inflate(R.layout.lib_tabs, null);
mViewPager = (ViewPager) view.findViewById(R.id.lib_pager);
mViewPager.setAdapter(new CustomPagerAdapter(this.getFragmentManager()));
mSlidingTabLayout = (SlidingTabLayout) view.findViewById(R.id.lib_tabs);
mSlidingTabLayout.setViewPager(mViewPager);
return view;
public class CustomPagerAdapter extends FragmentPagerAdapter
private final String[] TITLES = "Categories", "Home", "Top";
public CustomPagerAdapter(FragmentManager fm)
super(fm);
@Override
public CharSequence getPageTitle(int position)
return TITLES[position];
@Override
public int getCount()
return TITLES.length;
@Override
public android.support.v4.app.Fragment getItem(int position)
return LibSimpleInstanceableFragment.newInstance();
【问题讨论】:
【参考方案1】:当distributeEvenly
是true
时会发生这种情况。随便评论
lp.width = 0;
在SlidingTabLayout.java
类的populateTabStrip()
方法中,您的问题将得到解决。
【讨论】:
这应该是认可的答案!【参考方案2】:将高度更改为 wrap_content:
<com.example.android.common.view.SlidingTabLayout
android:id="@+id/lib_tabs"
android:layout_
android:layout_
android:background="@android:color/holo_green_light"
/>
【讨论】:
【参考方案3】:-
找到并打开SlidingTabStrip.java(必须在
com/example/android/common/view/)
根据需要编辑以下值
私有静态最终 int DEFAULT_BOTTOM_BORDER_THICKNESS_DIPS = 0; 私有静态最终字节 DEFAULT_BOTTOM_BORDER_COLOR_ALPHA = 0x26;
你欠我一杯酒!
【讨论】:
【参考方案4】:移除 SlidingTabLayout 上的 minHeight
【讨论】:
以上是关于SlidingTabLayout 底部填充的主要内容,如果未能解决你的问题,请参考以下文章
带有图标的 Android SlidingTabLayout
SlidingTabLayout 下方的 SlidingTabStrip 指示器