#android #android-button #android-theme #android-styles #material-components-android
#Android #android-кнопка #android-тема #android-стили #материал-компоненты-android
Вопрос:
Я хочу изменить цвет активной кнопки переключения. Но только изменение цвета ряби имеет значение. Я хочу настроить цвет фона активной кнопки и цвет текста.
<style name="ToggleButtonGroupStyle" parent="Widget.MaterialComponents.Button.OutlinedButton">
<item name="rippleColor">@color/colorAccent</item>
</style>
В следующей toggleButtonGroup я использовал этот стиль сверху:
<com.google.android.material.button.MaterialButtonToggleGroup
android:id="@ id/priority_btn_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignParentLeft="true"
app:selectionRequired="true"
app:singleSelection="true"
app:checkedButton="@ id/btn_one"
>
<com.google.android.material.button.MaterialButton
android:id="@ id/btn_one"
style="@style/ToggleButtonGroupStyle"
android:layout_width="@dimen/priority_btn_width"
android:layout_height="wrap_content"
android:shadowColor="@color/project_text"
android:text="0" />
<com.google.android.material.button.MaterialButton
style="@style/ToggleButtonGroupStyle"
android:layout_width="@dimen/priority_btn_width"
android:layout_height="wrap_content"
android:text="!" />
<com.google.android.material.button.MaterialButton
style="@style/ToggleButtonGroupStyle"
android:layout_width="@dimen/priority_btn_width"
android:layout_height="wrap_content"
android:text="!!" />
<com.google.android.material.button.MaterialButton
style="@style/ToggleButtonGroupStyle"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text="!!!" />
</com.google.android.material.button.MaterialButtonToggleGroup>
Кто-нибудь может дать мне подсказку, в чем проблема?
Спасибо 🙂
Ответ №1:
Цвет фона отмеченных кнопок зависит от colorPrimary
атрибута.
Вы можете использовать:
<com.google.android.material.button.MaterialButton
android:id="@ id/btn_one"
style="?attr/materialButtonOutlinedStyle"
android:theme="@style/ThemeOverlay.Custom.Button"
с:
<style name="ThemeOverlay.Custom.Button" parent="">
<item name="colorPrimary">@color/....</item>
</style>
или вы можете использовать пользовательский стиль с:
<com.google.android.material.button.MaterialButton
android:id="@ id/btn_one"
style="@style/ToggleButtonGroupStyle"
с:
<style name="ToggleButtonGroupStyle" parent="Widget.MaterialComponents.Button.OutlinedButton">
<item name="backgroundTint">@color/custom_selector</item>
</style>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/..." android:state_checked="true"/> <!-- selected color -->
<item android:color="@android:color/transparent" android:state_checked="false"/>
</selector>