我想删除标签栏底部显示的默认行。我尝试了以下内容:
android:tabStripEnabled="false"
tabHost.getTabWidget.setStripEnabled(false);
还尝试按照此question
的建议包装LinearLayout如何删除该行?
答案 0 :(得分:1)
我使用自定义视图删除标签栏中的行。
标签视图的自定义布局:
<ImageView
android:id="@+id/tab_icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:contentDescription="@string/tab_desc"
android:gravity="center" />
</LinearLayout>
设置标签视图:
private void setUpTabs() {
TabSpec spec0 = tabHost.newTabSpec("Tab");
spec0.setContent(R.id.tab_list);
spec0.setIndicator(tabView(R.drawable.image));
tabHost.addTab(spec0);
}
// Return view for tab
private View tabView(int drawableId) {
View view = LayoutInflater.from(this).inflate(R.layout.tab_image,
tabHost.getTabWidget(), false);
ImageView imageView = (ImageView) view.findViewById(R.id.tab_icon);
imageView.setImageResource(drawableId);
return view;
}
答案 1 :(得分:0)
我使用
删除了它 // Create Child Tab1
mTabHost.addTab(mTabHost.newTabSpec("child1").setIndicator("your text",getResources().getDrawable(R.drawable.your_image)),
yourclass.class, null);
mTabHost.getTabWidget().getChildAt(0).setBackgroundColor(getResources().getColor(R.color.your background color));
mTabHost.getTabWidget().getChildAt(0).setBackgroundResource(R.drawable.your_image);
我设置了背景颜色,然后使用蓝线上方的代码自动将标签设置在标签上,希望对您有所帮助。
答案 2 :(得分:0)
使用此代码并从tabhost底部删除行
android:tabStripEnabled="true"
tabHost.getTabWidget.setStripEnabled(true);
答案 3 :(得分:0)
在 TabLayout 中使用这个属性
app:tabIndicatorColor="@android:color/transparent"
完整示例:
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="@dimen/_27sdp"
android:layout_marginLeft="@dimen/_5sdp"
android:layout_marginTop="@dimen/_10sdp"
android:layout_marginRight="@dimen/_5sdp"
android:background="@drawable/blue_button"
app:tabIndicatorColor="@android:color/transparent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/challengeType"
app:tabGravity="fill"
>