Io uso questo stile cambiare sfondo colore della mia Button
:Come configurare il colore disabilitato del pulsante con AppCompat?
<style name="AccentButton" parent="Widget.AppCompat.Button.Colored">
<item name="colorButtonNormal">@color/colorAccent</item>
<item name="android:textColor">@color/white</item>
</style>
E in disposizione:
<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"/>
Funziona. Ma quando chiamo setEnabled(false)
su questo Button
, mantiene lo stesso colore. Come posso gestire questo caso?
personalizzato 'ThemeOverlay.AppCompat.Light' chiamato' AccentButton' è il modo più chiaro per me. Con un solo 'colorButtonNormal' sembra proprio che' accentColor' sia mischiato al bianco quando 'Button' è disabilitato. Grazie! – Alexandr
Invece di applicare lo stile colorato separatamente, una semplificazione è spostare questa dichiarazione di stile nel tema AccentButton: definendolo come buttonStyle del tema. In questo modo, è necessario aggiungere un solo attributo aggiuntivo a ciascuna dichiarazione di pulsante. –
@JoeBowbeer - come menzionato nel [Scelta di un post di blog stile pulsante] (https://medium.com/google-developers/choosing-a-button-style-with-purpose-and-intent-35a945e228d3), colorato in rilievo i pulsanti non dovrebbero essere necessariamente la norma durante l'intero tema, quindi impostarlo come pulsante 'baseTheme' è forse un po 'troppo. – ianhanniballake