#android #user-interface #android-xml
#Android #пользовательский интерфейс #android-xml
Вопрос:
У меня был макет вкладки
<android.support.design.widget.TabLayout
android:id="@ id/tabs"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:animateLayoutChanges="true"
android:background="@color/background_white" />
Для реализации анимации пульсаций я должен изменить фон на
android:background="?attr/selectableItemBackground"
Это включает анимацию пульсаций, но цвет по умолчанию — серый, и я хочу, чтобы мой фон был настроенным цветом, таким как белый, я также пробовал
android:background="@color/white"
app:tabBackground="?attr/selectableItemBackground"
Но это не отображается, когда цвет фона белый,
Я просто не знаю, по какой причине это не работает на белом фоне?
Ответ №1:
наконец, я выяснил, как объединить фон и выбираемый элемент. сначала вам нужно объявить два стиля в вашем styles.xml
, как показано ниже
<style name="SelectableItemTheme">
<item name="colorControlHighlight">@color/light_gray</item>
</style>
<style name="SelectableItemBackground">
<item name="android:theme">@style/SelectableItemTheme</item>
<item name="android:background">?attr/selectableItemBackground</item>
</style>
И после этого вы назначаете его в качестве параметра стиля для tab-layout и добавляете цвет, который вы хотите от него,
<android.support.design.widget.TabLayout
android:id="@ id/tabs"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_alignParentStart="true"
style="@style/SelectableItemBackground"
android:background="@color/background_login"/>