我正在尝试在我的应用中使用主题
我想全局覆盖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。