J'utilise Appcompatv7 21 et j'essaie de personnaliser le champ editText.
Ce qui est étrange, c'est que cela fonctionne bien sur Lollipop mais ne fonctionne pas sur KitKat ou sur les appareils pré-Lollipop. Je pensais que les bibliothèques de support fonctionnaient sur toutes les plateformes.
<style name="mAppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="colorControlNormal">@color/veryLightGrey</item>
<item name="colorControlActivated">@color/colorAccent</item>
<item name="colorControlHighlight">@color/colorAccent</item>
</style>
compile 'com.Android.support:appcompat-v7:21.0.3'
Capture d'écran de l'appareil physique.
Essayez d'ajouter le code suivant dans votre EditText
style="@style/Widget.AppCompat.EditText"
Vérifiez l'appareil réel.
Dans mes EditText
travaux, voici mon EditText:
<EditText
Android:id="@+id/editTextFacebookID"
style="@style/Widget.AppCompat.EditText"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_centerVertical="true"
Android:layout_marginLeft="64dp"
Android:layout_marginRight="8dp"
Android:gravity="center_vertical"
Android:hint="Facebook ID"
Android:textColor="@color/md_text"
Android:textColorHint="@color/md_disabled_hint_text" />
Vous pouvez vérifier md_text et md_disabled_hint_text couleurs ici: Google Couleurs
Et ceci est un style v19 de mon application:
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/md_red_500</item>
<item name="colorPrimaryDark">@color/md_red_700</item>
<item name="colorAccent">@color/md_blue_A200</item>
<item name="colorControlHighlight">@color/md_black_1000_25</item>
<item name="colorControlNormal">@color/md_black_1000_50</item>
<item name="colorSwitchThumbNormal">@color/md_grey_200</item>
<item name="Android:colorForeground">@color/md_black_1000_75</item>
<item name="Android:windowTranslucentNavigation">@bool/translucentNavigationBar</item>
<item name="Android:windowTranslucentStatus">@bool/translucentStatusBar</item>
<!-- Navigation Drawer Arrow Style. -->
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
<!-- Overflow Button Style. -->
<item name="actionOverflowButtonStyle">@style/OverflowStyle</item>
</style>
Mon EditText est gris lorsqu'il est flou et bleu, il prend la couleur de colorAccent.
Il change de couleur lorsque je change d'AppTheme.
Encore mieux, changez-le simplement de EditText
à AppCompatEditText
et vous êtes bon. Bénéficiez du AppCompat
que vous utilisez déjà.
src: http://Android-developers.blogspot.ae/2014/10/appcompat-v21-material-design-for-pre.html