Я использую этот стиль изменить фона цвета моей Button
:Как настроить отключенный цвет кнопки с помощью AppCompat?
<style name="AccentButton" parent="Widget.AppCompat.Button.Colored">
<item name="colorButtonNormal">@color/colorAccent</item>
<item name="android:textColor">@color/white</item>
</style>
И в раскладка:
<Button
android:id="@+id/login_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_login_login_button"
app:theme="@style/AccentButton"/>
Он работает. Но когда я звоню setEnabled(false)
на этом Button
, он сохраняет тот же цвет. Как я могу управлять этим случаем?
Настраиваемый 'ThemeOverlay.AppCompat.Light' именем' AccentButton' является самым ясным образом для меня. При использовании только одного 'colorButtonNormal' он выглядит правильно, поскольку' accentColor' смешивается с белым, когда 'Button' отключен. Благодаря! – Alexandr
Вместо того, чтобы применять стиль «Цвет» отдельно, упрощение состоит в том, чтобы переместить это объявление стиля в тему AccentButton: определяя его как buttonStyle темы. Таким образом, к каждому объявлению каждой кнопки нужно добавить только один дополнительный атрибут. –
@JoeBowbeer - как упоминалось в блоге [Выбор записи в стиле Button Button] (https://medium.com/google-developers/choosing-a-button-style-with-purpose-and-intent-35a945e228d3), поднятый цветной кнопки не обязательно должны быть нормой во всей вашей теме, поэтому установка его как основы 'buttonTheme', возможно, немного. – ianhanniballake