首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法删除PagerTabStrip选项卡指示行- Android

无法删除PagerTabStrip选项卡指示行- Android
EN

Stack Overflow用户
提问于 2015-07-18 21:58:23
回答 2查看 2K关注 0票数 3

我想删除PagerTabStrip选项卡指示器,但我找不到方法。我试图设置setDrawFullUnderline(false),但它仍然存在。如果我将它的颜色设置为透明,就会得到一条黑线:-/

我怎么能摆脱它?谢谢!

pagerTabStrip.setTabIndicatorColor(Color.TRANSPARENT);PagerTabStrip pagerTabStrip = (PagerTabStrip) findViewById(R.id.pager_tab_strip);pagerTabStrip.setDrawFullUnderline(真)

代码语言:javascript
复制
<android.support.v4.view.ViewPager
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/pager"
        android:layout_width="fill_parent"
        android:layout_height="390dp"
        android:layout_above="@+id/page_indicator"
        android:padding="20dp">

        <android.support.v4.view.PagerTabStrip
            android:id="@+id/pager_tab_strip"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="top"
            android:background="@android:color/transparent"
            android:textAppearance="@style/PagerTabStripText"
            android:paddingTop="5dp"
            android:paddingBottom="5dp" />

        </android.support.v4.view.ViewPager>

EN

回答 2

Stack Overflow用户

发布于 2015-09-15 10:20:18

代码语言:javascript
复制
    tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs);
    tabs.setIndicatorHeight(0);

设置指示器零的高度。我希望这会有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2015-08-02 16:20:00

是啊,那些医生

代码语言:javascript
复制
setTabIndicatorColor()

说:

高字节(alpha)被忽略。

在标签条上设置它自己的alpha,这取决于您正在滑动页面时的位置。

所以,让我们做个邪恶的人,把它踩得到处都是!

代码语言:javascript
复制
public class PagerTabStripNoInd extends PagerTabStrip {
    private static final String TAG = "PagerTabStripNoInd";
    private static final Integer ZERO = new Integer(0);
    public PagerTabStripNoInd(Context context) {
        super(context);
    }
    public PagerTabStripNoInd(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    @Override
    protected void onDraw(Canvas canvas) {
        try {
            Field tabAlphaField = PagerTabStrip.class.getField("mTabAlpha");
            tabAlphaField.setAccessible(true);
            tabAlphaField.set(this, ZERO);
        } catch (NoSuchFieldException e) {
            Log.e(TAG, "onDraw", e);
        } catch (IllegalAccessException e) {
            Log.e(TAG, "onDraw", e);
        }
        super.onDraw(canvas);
    }
}

由于位置相关的alpha是在另一种方法中计算的,如果我们在绘制之前将其设置为零,那么选项卡的颜色最终是透明的。

像这样使用它:

代码语言:javascript
复制
<android.support.v4.view.ViewPager
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/pager"
    android:layout_width="fill_parent"
    android:layout_height="390dp"
    android:layout_above="@+id/page_indicator"
    android:padding="20dp">

    <!-- use your fully qualified class name here, for example -->
    <com.example.PagerTabStripNoInd
        android:id="@+id/pager_tab_strip"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="top"
        android:background="@android:color/transparent"
        android:textAppearance="@style/PagerTabStripText"
        android:paddingTop="5dp"
        android:paddingBottom="5dp" />

</android.support.v4.view.ViewPager>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31495991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档