Android主题不适用于API< 22(Android 5.0 Lollipop)

时间:2015-09-04 07:04:36

标签: android android-layout android-theme android-styles

我正在尝试在我的应用中使用主题 我想全局覆盖EditText的样式,但这不适用于API< 22(Android 5.0 Lollipop)

这是我的主题宣言

<style name="AppTheme" parent="Theme.AppCompat">
    <item name="android:editTextStyle">@style/EditTextDefault</item>
</style>

AndroidManifest.xml

中的声明
<application
    android:allowBackup="true"
    android:name=".application.MyApp"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

我的EditText自定义样式

<style name="EditTextDefault" parent="@android:style/Widget.EditText">
    <item name="android:background">@drawable/edit_text_holo_light</item>
    <item name="android:textColor">@color/light_blue</item>
</style>

我在xml文件中应该可以在不明确指定@style属性的情况下工作。但它不适用于API&lt; 22。

<EditText
    android:id="@+id/edit_text_login"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_above="@+id/edit_text_password"
    android:hint="@string/hint_enter_login"
    android:inputType="textEmailAddress" />

为了使其适用于任何版本的API,我必须指定样式属性

<EditText
    android:id="@+id/edit_text_login"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_above="@+id/edit_text_password"
    android:hint="@string/hint_enter_login"
    style="@style/EditTextDefault"
    android:inputType="textEmailAddress" />

我试图找到关于此的信息,但没有说明主题不适用于api&lt; 22。

0 个答案:

没有答案