Android - 为EditText视图设置默认样式不起作用

时间:2015-07-11 17:01:04

标签: android android-theme android-styles

我正在尝试为编辑文本视图设置默认样式。在这个例子中,我为editText和textView设置了默认样式。

这是我的来自values文件夹的styles.xml:

<resources>
    <style name="AppBaseTheme" parent="Theme.AppCompat.Light">
    </style>

    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <item name="android:editTextStyle">@style/AppTheme.EditText</item>
        <item name="android:textViewStyle">@style/AppTheme.TextView</item>
    </style>

    <style name="AppTheme.EditText" parent="android:Widget.EditText">
        <item name="android:textColor">@color/red</item>
        <item name="android:padding">10dp</item>
    </style>

    <style name="AppTheme.TextView" parent="android:Widget.TextView">
        <item name="android:textColor">@color/red</item>
        <item name="android:padding">10dp</item>
    </style>
</resources>

如下面的快照所示,我在布局中添加了两个editText和两个textView。

enter image description here

这是我的布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:text="TextView1" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="20dp"
        android:text="TextView2" />

    <EditText
        android:id="@+id/editText1"
        style="@style/AppTheme.EditText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView2"
        android:layout_marginTop="20dp"
        android:ems="10"
        android:text="EditText1" >
    </EditText>

    <EditText
        android:id="@+id/editText2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/editText1"
        android:layout_marginTop="20dp"
        android:ems="10"
        android:text="EditText2" >
    </EditText>

</RelativeLayout>

现在问题是,textView的默认样式工作正常,但对于editText视图,它不反映样式。如果我为editText显式设置样式,那么它会按预期反映(与editText1一样),但默认情况下不会。 editText2的文本颜色应为红色,但不是。我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

您好prashant ..我在我的项目中复制了您的代码。为我工作

你想这样吗?或其他什么?

enter image description here