我想从theme.appcompat派生一个主题。在那个主题中,我想设置自定义按钮样式。按钮代码如下。如何将它们添加到我创建的主题中以及如何创建该主题。我需要在哪些文件中包含res / values / style旁边的主题。下面的代码位于res / drawable文件夹中,名称为red_button.xml。
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/componentstyles_btn_default_pressed_holo_light" />
<item android:state_focused="true"
android:drawable="@drawable/componentstyles_btn_default_focused_holo_light" />
<item
android:drawable="@drawable/componentstyles_btn_default_normal_holo_light" />
</selector>
现在res / value / styles中的代码是
<resources>
<style name="MyTheme" parent="Theme.AppCompat.Light">
<item name="android:buttonStyle">@style/MyButton</item>
</style>
<style name="MyButton" parent="android:Widget.Button">
<item name="android:background">@drawable/red_button</item>
</style>
</resources>
清单就像这样:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MyTheme" >
答案 0 :(得分:1)
在res/values
文件夹中,您要创建文件styles.xml
,并指定
<style name="MyTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!--Custom styles here -->
</style>
您要显示的选择器可以放在res/drawable
文件夹中。如果您想将其应用于所有按钮,您可能需要执行以下操作:
<style name="MyTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:buttonStyle">@style/MyButton</item>
</style>
<style name="MyButton" parent="android:Widget.Button">
<item name="android:background">@drawable/your_selector</item>
</style>
要启用自定义主题,请将其应用于AndroidManifest.xml
到特定Activity
或整个应用,例如:
<application android:label="@string/app_name"
android:icon="@drawable/ic_launcher"
android:theme="@style/MyTheme">