滑动选项卡布局底部填充

3
我遇到了一个问题,我的 SlidingTabLayout 中有一种内边距。如下图所示: enter image description here 可以看到,背景从底部滑块处溢出。最近我使用 pagertabstrip 库并没有遇到这个问题,但是现在我尝试了新的 com.example.android.common.view.SlidingTabLayout,它确实存在。请问如何去除此内边距?
谢谢!
以下是 xml 代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.example.android.common.view.SlidingTabLayout
        android:id="@+id/lib_tabs"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@android:color/holo_green_light"
         />

    <android.support.v4.view.ViewPager
        android:id="@+id/lib_pager"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />
</LinearLayout>

style

<!-- 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();
        }
    }
4个回答

6
distributeEvenlytrue 时,就会发生这种情况。只需注释即可。
lp.width = 0;

在SlidingTabLayout.java类的populateTabStrip()方法中,您的问题将得到解决。

这应该是被批准的答案! - FonzTech

1
将高度更改为wrap_content:
<com.example.android.common.view.SlidingTabLayout
        android:id="@+id/lib_tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/holo_green_light"
         />

0

移除SlidingTabLayout上的minHeight属性


0
  1. 找到并打开SlidingTabStrip.java文件(必须在com/example/android/common/view/目录下)
  2. 根据您的需求编辑以下值:

    private static final int DEFAULT_BOTTOM_BORDER_THICKNESS_DIPS = 0;
    private static final byte DEFAULT_BOTTOM_BORDER_COLOR_ALPHA = 0x26;

  3. 你欠我一瓶酒!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接