【发布时间】:2011-11-03 12:55:37
【问题描述】:
我正在尝试更改 EditText 的样式?有可能实现吗?如果是这样,我会很高兴被告知,否则还有其他可用的方法。
【问题讨论】:
-
edittext的样式是什么意思?在这里查看developer.android.com/guide/topics/ui/themes.html
标签: java android android-edittext
我正在尝试更改 EditText 的样式?有可能实现吗?如果是这样,我会很高兴被告知,否则还有其他可用的方法。
【问题讨论】:
标签: java android android-edittext
您可以使用为任何小部件定义的属性style="@style/your_style"。
要定义您的风格,您必须在 values 文件夹中创建一个名为 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 样式,因此只需要定义与默认样式不同的属性。
【讨论】:
parent="@android:style/Widget.EditText" 是我所缺少的 - 没有它,我的 EditTexts 变成了只读的。
<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>
【讨论】:
是的,这绝对是可能的。有关详细信息,请参阅 http://developer.android.com/guide/topics/ui/themes.html(Raghu 已发布该链接)。
您也可以在其中添加背景,请参阅此帖子:http://www.anddev.org/tutorial_buttons_with_niceley_stretched_background-t4369.html 它只涵盖按钮,但对于edittexts完全一样。
【讨论】: