在我的Android项目中,我尝试使用自定义主题为我的应用提供自定义视图。在我的应用中有很多页面,我想为Edittext
定义自定义主题。所以,我在res/values/styles.xml
中编写了一些代码,在父主题下面我编写了代码,如下所示,
<resources>
<!--
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Light">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
-->
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
<style name="AppTheme.Custom" parent="@android:style/Widget.EditText">
<item name="android:background">@drawable/custom_edittext</item>
</style>
在我的代码中,我使用custom_edittext
文件夹中的文件drawable
,
和文件如下,
<?xml version="1.0" encoding="utf-8"?>
<!-- res/drawable/custom_edittext.xml -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
<solid android:color="#FFFFFF"/>
<stroke android:width="1dip" android:color="@color/orange"/>
<corners
android:bottomRightRadius="1dp"
android:bottomLeftRadius="1dp"
android:topLeftRadius="1dp"
android:topRightRadius="1dp"/>
</shape>
在Android Manifest
下的android:theme=" "
我提到了我创建的主题的名称。
但是我的应用程序无法正常工作。
当我使用android:theme="AppTheme.Custom"
时,它为我使用的所有布局的边框赋予颜色,当我仅使用android:theme="AppTheme"
时,它什么都不做。我以为它会继承基本主题。
请帮忙。
感谢。