#java #android #xml #android-layout #tabs
#java #Android #xml #android-макет #вкладки
Вопрос:
Я новичок в android
и java
. Я использую tab layout
в своем приложении. Это выглядит следующим образом
Мой код макета вкладки в 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>
custom_tab_indicator.xml :
<?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>
Я не знаю, как этого добиться. Пожалуйста, помогите мне с некоторыми решениями.
Я попытался изменить этот код, добавив фон к значку.
custom_tab_icon_color_setter:-
<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>
Но ничего не меняется. Пожалуйста, помогите мне с некоторыми решениями для достижения этой цели
Ответ №1:
Просто добавьте этот фон в свой вид
android:background=?android:attr /actionBarItemBackground
Нет необходимости создавать какой-либо файл shape res. Добавьте этот фон в представление, которое вы хотите отобразить фоном.
Комментарии:
1. Спасибо за ответ… Никаких изменений… это не сработало…