在android中的EditText View上应用样式

时间:2012-12-06 17:24:19

标签: android android-styles

我正在尝试为特定的android视图组件指定和设置一个样式,其中这个案例是EditText。

这是我试图应用全局样式集的样式

 <!-- style for the action bar backgrounds -->
<style name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar">
    <item name="android:background">@color/lightBlue</item>
    <item name="android:paddingBottom">0dip</item>
</style>


<style name="ActivityStyleYellow">
    <item name="android:background">@color/brightYellow</item>
    <item name="android:textViewStyle">@style/textViewYellow</item>
    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="android:text">@style/editTextYellow</item>

</style>

 <style name="ActivityStyleBlue">
    <item name="android:background">@color/lightBlue</item>
    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="android:textViewStyle">@style/textViewBlue</item>
    <item name="android:EditTextViewStyle">@style/editTextBlue</item>
</style>

以下是我的视图组件在单独的xml文件上的样式

 <style name="textViewBlue" parent="@android:style/Widget.TextView">
            <item name="android:textColor">@color/darkBlue</item>
              <item name="android:paddingBottom">@dimen/text_padding</item>
        </style>

        <style name="textViewYellow" parent="@android:style/Widget.TextView">
            <item name="android:textColor">@color/darkYellow</item>
              <item name="android:paddingBottom">@dimen/text_padding</item>
        </style>

        <style name="editTextBlue" parent="@android:style/Widget.EditText">
            <item name="android:paddingBottom">@dimen/text_padding</item>
            <item name="android:textStyle">bold</item>
            <item name="android:textColor">@color/darkBlue</item>
        </style>

     <style name="editTextYellow" parent="@android:style/Widget.EditText">
        <item name="android:paddingBottom">@dimen/text_padding</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textColor">@color/darkYellow</item>
    </style>

问题是这一行:@ style / editTextYellow

android:EditTextViewStyle不存在,我找不到任何引用。我认为这将是因为我也假设textViewStyle是什么,并且工作。

我找不到android:xxx样式有效的定义列表,但我想editText肯定应该是?

是否有列表显示我可以用于“android:xxx”的组件?我基本上想要应用于特定的View组件类型。

这可以用于editText吗?

谢谢

1 个答案:

答案 0 :(得分:1)

你要找的是android:editTextStyle。例如:

<style name="AppTheme" parent="@android:style/Theme.NoTitleBar">
    <item name="android:editTextStyle">@style/Widget.Styled.EditText</item>
</style>

<style name="Widget.Styled.EditText" parent="@android:style/Widget.EditText">
    <item name="android:textColor">@color/black</item>
    <item name="android:textSize">@dimen/default_font_size</item>
    <item name="android:textColorHint">@color/default_grey</item>
    <item name="android:typeface">normal</item>
</style>