gpt4 book ai didi

android - 为 TabLayout 移除当前 Tab 下的选择器行

转载 作者:IT老高 更新时间:2023-10-28 23:37:47 24 4
gpt4 key购买 nike

我正在使用带有 3 个选项卡的 TabLayout。我自定义了标签的 View ,因此,我需要删除标签下的以下行(屏幕截图不是来 self 的应用程序):

enter image description here

使用 TabHost 或 TabWidget,因此我不能使用 setStripEnabled(false)。将背景设置为透明也不会改变任何内容。

这是我的 xml:

<android.support.design.widget.AppBarLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical" android:padding="4dip"
android:layout_above="@+id/bottomcontent3"
android:gravity="center_horizontal"
android:background="@android:color/white"
android:layout_width="match_parent"
android:layout_height="match_parent">

<android.support.design.widget.TabLayout
android:id="@+id/comtabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
app:tabPaddingStart="0dp"
app:tabPaddingEnd="0dp"
app:tabMode="fixed"
app:tabGravity="fill"
android:background="@android:color/white" />

<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/compager"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v4.view.ViewPager>

</android.support.design.widget.AppBarLayout>

我找到的所有答案都是使用 TabHostTabWidget。在我的例子中,我使用了一个 TabLayout 和三个 Tab。在这种情况下如何删除这条线?非常感谢。

EDIT 由于某些原因,我的代码无法解析 TabLayout 中的某些方法。有我用的java代码:

TabLayout tabLayout = (TabLayout) view.findViewById(R.id.comtabs);
tabLayout.setTabMode(TabLayout.MODE_FIXED);


// add tabs
tabLayout.addTab(tabLayout.newTab());
tabLayout.addTab(tabLayout.newTab());
tabLayout.addTab(tabLayout.newTab());

RelativeLayout layout1 = (RelativeLayout) inflater.inflate(R.layout.communitytablayoutleft, container, false);
RelativeLayout layout2 = (RelativeLayout) inflater.inflate(R.layout.communitytablayout, container, false);
RelativeLayout layout3 = (RelativeLayout) inflater.inflate(R.layout.communitytablayoutright, container, false);
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);



ViewPager pager = (ViewPager) view.findViewById(R.id.compager);
CommunityPagerFragment adapter = new CommunityPagerFragment(getChildFragmentManager());

pager.setAdapter(adapter);
tabLayout.setupWithViewPager(pager);
tabLayout.setOnTabSelectedListener(this);


((TextView)layout1.findViewById(R.id.tabtext)).setText(tabs[0]);
((TextView)layout2.findViewById(R.id.tabtext)).setText(tabs[1]);
((TextView)layout3.findViewById(R.id.tabtext)).setText(tabs[2]);



tabLayout.getTabAt(0).setCustomView(layout1);
tabLayout.getTabAt(1).setCustomView(layout2);
tabLayout.getTabAt(2).setCustomView(layout3);
//tabLayout.set

return view;

及其导入:

import android.support.design.widget.TabLayout;

最佳答案

正如两个答案所暗示的,关键是 tabIndicatorHeight属性。

但是,由于某些原因,API 中的方法无法解决。在这种情况下,您必须直接从 xml 中修复此问题,这样:

        app:tabIndicatorHeight="0dp"

在您的<android.support.design.widget.TabLayout>布局。

举个例子:

<android.support.design.widget.TabLayout
android:id="@+id/comtabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
app:tabIndicatorHeight="0dp"
app:tabPaddingStart="0dp"
app:tabPaddingEnd="0dp"
app:tabMode="fixed"
app:tabGravity="fill"
android:background="@android:color/white" />

关于android - 为 TabLayout 移除当前 Tab 下的选择器行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34388841/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com