如何更改选项卡布局中所选选项卡的形状?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何更改选项卡布局中所选选项卡的形状?相关的知识,希望对你有一定的参考价值。

我想制作圆形选定标签。我已成功通过设置其可绘制背景来制作圆形标签布局,但我想要圆形特定选定标签。

示例截图

答案

使用Selector标签为2种不同的状态

  1. 国家选择
  2. 状态未选中 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/selected" android:state_selected="true"/> <item android:drawable="@drawable/not_selected" android:state_selected="false"/> </selector>
另一答案

我找到了解决方案,因为它对我有用。

tab_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/tab_active" android:state_selected="true"></item>
<item android:drawable="@drawable/default_tab"></item>

custom_tab.xml

 <?xml version="1.0" encoding="utf-8"?>
 <TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="@drawable/tab_text_selector"
android:textSize="@dimen/text_12" />

java代码:

TextView tabOne=(TextView)LayoutInflater.from(this).inflate(R.layout.custom_tab, null);
tabOne.setText("TabTitleName");
tabOne.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.tab_selector, 0, 0);
tabLayout.getTabAt(0).setCustomView(tabOne);

以上是关于如何更改选项卡布局中所选选项卡的形状?的主要内容,如果未能解决你的问题,请参考以下文章

在选项卡布局中使用两窗格片段

使用Android ViewPager2在回收器视图中滚动到底部时自动更改选项卡项

从具有选项卡布局的活动中启动选项卡片段

单击ListViewItem时Android加载片段

以编程方式使用选项卡更改片段的选项卡索引

如何更改 JTabbedPane 选项卡的形状?