Android: как изменить стиль редактирования текста?
Я пытаюсь изменить стиль EditText? Можно ли это достичь? Если это так, я буду признателен, если вам расскажут об этом, иначе будут доступны альтернативные способы.
Ответы
Ответ 1
Вы можете использовать атрибут style="@style/your_style"
, который определен для любого виджета.
Чтобы определить свой стиль, вы должны создать файл с именем style.xml
в папке значений (т.е. \res\values\styles.xml
) и использовать следующий синтаксис:
<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>
Атрибут parent="@android:style/Widget.EditText"
важен, поскольку он гарантирует, что определяемый стиль расширяет базовый стиль Android EditText
, поэтому необходимо определить только свойства, отличные от стиля по умолчанию.
Ответ 2
<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>
Ответ 3
Да, это определенно возможно. См. http://developer.android.com/guide/topics/ui/themes.html (Raghu уже публикует эту ссылку) для более подробной информации.
Вы также можете использовать фон, см. этот пост: http://www.anddev.org/tutorial_buttons_with_niceley_stretched_background-t4369.html
Он охватывает только кнопки, но для редакторов точно так же.