2011-08-25 13 views
11

Próbuję zmienić styl EditText? Czy można to osiągnąć? Jeśli tak, będę wdzięczny za to, że mi o tym powiedziano, w przeciwnym razie, jakie alternatywne sposoby są dostępne.android: jak zmienić styl edycji tekstu?

+1

Styl edittext oznacza? sprawdź tutaj http://developer.android.com/guide/topics/ui/themes.html – Randroid

+0

Mam nadzieję, że będzie to pomocne, http://www.androidworks.com/changing-the-android-edittext-ui-widget – Randroid

Odpowiedz

28

Możesz użyć atrybutu style="@style/your_style" zdefiniowanego dla dowolnego widżetu.

Aby zdefiniować swój styl trzeba utworzyć plik o nazwie style.xml w folderze wartości (tj \res\values\styles.xml) i użyć następującej składni:

<style name="You.EditText.Style" parent="@android:style/Widget.EditText"> 
    <item name="android:textColor">@color/your_color</item> 
    <item name="android:gravity">center</item> 
</style> 

Atrybut parent="@android:style/Widget.EditText" jest ważne, ponieważ będzie to zapewnić, że styl Zdefiniowano rozszerzenie podstawowego stylu Android: EditText, dlatego należy zdefiniować tylko właściwości inne niż domyślny styl.

+1

Idealny! 'parent =" @ android: style/Widget.EditText "' jest tym, czego mi brakowało - bez tego moje EditTexts stał się tylko do odczytu. – CJBS

1
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="android:colorBackground">@color/windowBackground</item> 
    <item name="android:textColor">@color/textColor</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    //apply Button style 
    <item name="android:editTextStyle">@style/editTextStyle</item> 
</style> 

//Button Style 
<style name="editTextStyle" parent="@style/Widget.AppCompat.EditText"> 
    <item name="android:textColor">@color/colorWhite</item> 
    <item name="android:background">@color/colorPrimary</item> 
    <item name="android:textSize">24sp</item> 
    <item name="android:paddingTop">10dp</item> 
    <item name="android:paddingBottom">10dp</item> 
</style> 
Powiązane problemy