我已经创建了一个自定义主题,其中包含以下XML表示:
<style name="ABTheme" parent="android:style/Theme">
<item name="android:textColor" >#ffbb22</ item>
<item name="android:background" >#ff1a557c</ item>
<item name="android:button" >@style/ABButton</ item>
</style >
我在另一个XML文件中实现了 ABButton :
<style name="ABButton" parent="android:Widget.Button">
<item name="android:padding" >3dp</ item>
<item name="android:background" >#121212</ item>
<item name="android:textColor" >#ffffff</ item>
</style >
但是按钮样式不适用于按钮,按钮将具有默认的Android风格,有人可以告诉我如何解决这个问题
谢谢
请注意,我已将ABTheme
应用于我的主要活动
答案 0 :(得分:2)
将此添加到您的父样式
<item name="android:buttonStyle">@style/ABButton</item>
答案 1 :(得分:0)
// try this
**themes.xml**
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="ABTheme" parent="android:Theme">
<item name="myButton">@style/ABButton</item>
</style >
</resources>
**styles.xml**
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="ABButton" parent="android:Widget.Button">
<item name="android:padding">3dp</item>
<item name="android:background">#121212</item>
<item name="android:textColor">#ffffff</item>
</style >
</resources>
**attrs.xml**
<?xml version="1.0" encoding="utf-8"?>
<resources>
<attr name="myButton" format="reference" />
</resources>
**xml**
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="My Custom Button"
style="?myButton"/>
**AndroidManifest.xml**
<application
android:label="@string/app_name"
android:theme="@style/ABTheme"
android:icon="@drawable/ic_launcher">
// define your activity here
</application>
答案 2 :(得分:0)
在活动清单中添加android:theme="@style/mytheme"
。例如
<activity
android:name="com.riverwalklabs.eggzammobile.YourActivity"
android:theme="@style/mytheme"
android:label="@string/app_name"
android:noHistory="true"
android:screenOrientation="portrait" >
</activity>
答案 3 :(得分:0)
问题是根主题随Honeycomb而改变。曾经是“android:style / Theme”的东西现在是“android:Theme.Holo”。同样,以前的“android:Widget.Button”现在是“android:Widget.Holo.Button”。
我看到的另一个问题是你使用“android:button”而不是“android:buttonStyle”。
您必须为API 11+创建一个样式,为旧设备创建另一个样式(除非您不打算支持比Honeycomb更早的任何内容)。然后,您必须将它们放在单独的资源文件夹中。
这将是这样的:
<强> RES /值/ style.xml:强>
<style name="ABTheme" parent="android:Theme">
<item name="android:textColor" >#ffbb22</ item>
<item name="android:background" >#ff1a557c</ item>
<item name="android:buttonStyle">@style/ABButton</item>
</style >
<style name="ABButton" parent="android:Widget.Button">
<item name="android:padding" >3dp</ item>
<item name="android:background" >#121212</ item>
<item name="android:textColor" >#ffffff</ item>
</style >
<强> RES /值-V11 / style.xml:强>
<style name="ABTheme" parent="android:Theme.Holo">
<item name="android:textColor" >#ffbb22</ item>
<item name="android:background" >#ff1a557c</ item>
<item name="android:buttonStyle">@style/ABButton</item>
</style >
<style name="ABButton" parent="android:Widget.Holo.Button">
<item name="android:padding" >3dp</ item>
<item name="android:background" >#121212</ item>
<item name="android:textColor" >#ffffff</ item>
</style >