Java 选择android时设置选项卡图标的背景形状
我不熟悉Java 选择android时设置选项卡图标的背景形状,java,android,xml,android-layout,tabs,Java,Android,Xml,Android Layout,Tabs,我不熟悉android和java。我正在我的应用程序中使用选项卡布局。它看起来像下面 XML格式的我的选项卡布局代码: <com.google.android.material.tabs.TabLayout android:id="@+id/tabs" android:background="#F7F7F7" android:layout_width="match_parent"
android
和java
。我正在我的应用程序中使用选项卡布局
。它看起来像下面
XML格式的我的选项卡布局代码:
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabs"
android:background="#F7F7F7"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="scrollable"
app:tabBackground="@drawable/tab_selector"
app:tabTextColor="@color/tab_text_unselected_color"
app:tabSelectedTextColor="@color/tab_text_selected_color"
app:tabIndicator="@drawable/custom_tab_indicator"
app:tabIndicatorColor="@color/tab_indicator_color"
app:tabIndicatorFullWidth="false"
app:tabIndicatorHeight="5dp"
app:tabTextAppearance="@style/MineCustomTabText"
app:tabIconTint="@color/custom_tab_icon_color_setter"
tools:ignore="MissingConstraints">
可提取文件:tab_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@color/tab_selected_color"
android:state_selected="true"/>
<item
android:drawable="@color/tab_unselected_color"
android:state_selected="false"/>
</selector>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/colorAccent" />
<corners
android:bottomLeftRadius="0dp"
android:bottomRightRadius="0dp"
android:topLeftRadius="10dp"
android:topRightRadius="10dp" />
</shape>
<style name="MineCustomTabText" parent="TextAppearance.Design.Tab">
<item name="android:textSize">10sp</item>
</style>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/colorPrimary"/>
</shape>
自定义选项卡\u indicator.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@color/tab_selected_color"
android:state_selected="true"/>
<item
android:drawable="@color/tab_unselected_color"
android:state_selected="false"/>
</selector>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/colorAccent" />
<corners
android:bottomLeftRadius="0dp"
android:bottomRightRadius="0dp"
android:topLeftRadius="10dp"
android:topRightRadius="10dp" />
</shape>
<style name="MineCustomTabText" parent="TextAppearance.Design.Tab">
<item name="android:textSize">10sp</item>
</style>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/colorPrimary"/>
</shape>
样式:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@color/tab_selected_color"
android:state_selected="true"/>
<item
android:drawable="@color/tab_unselected_color"
android:state_selected="false"/>
</selector>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/colorAccent" />
<corners
android:bottomLeftRadius="0dp"
android:bottomRightRadius="0dp"
android:topLeftRadius="10dp"
android:topRightRadius="10dp" />
</shape>
<style name="MineCustomTabText" parent="TextAppearance.Design.Tab">
<item name="android:textSize">10sp</item>
</style>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/colorPrimary"/>
</shape>
10便士
我想添加一个背景圆形状的矢量图标时,如下图选择
这是圆形:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@color/tab_selected_color"
android:state_selected="true"/>
<item
android:drawable="@color/tab_unselected_color"
android:state_selected="false"/>
</selector>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/colorAccent" />
<corners
android:bottomLeftRadius="0dp"
android:bottomRightRadius="0dp"
android:topLeftRadius="10dp"
android:topRightRadius="10dp" />
</shape>
<style name="MineCustomTabText" parent="TextAppearance.Design.Tab">
<item name="android:textSize">10sp</item>
</style>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/colorPrimary"/>
</shape>
我不知道如何做到这一点。请帮我解决一些问题
我试图通过向图标添加背景来修改此代码
自定义选项卡图标颜色设置器:-
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:background="@drawable/cirle_shape" android:color="@color/tab_icon_selected_color" android:state_selected="true"/>
<item android:color="@color/tab_icon_unselected_color"/>
</selector>
但什么都不会改变。请帮助我找到一些解决方案来实现这一点只需将此背景添加到您的视图中即可 android:background=?android:attr/actionBarItemBackground
无需创建任何形状res文件。将此背景添加到您想要显示背景的视图。感谢您的回复。。。没有变化。。。它不起作用。。。