0

我正在做一个个人主题以在 2.3 android 中使用全息小部件。

我这样做了:

 <resources xmlns:android="http://schemas.android.com/apk/res/android">

  <style name="AppThemes" parent="@style/Theme.Sherlock">

    <item name="android:editTextStyle">@style/EditTextAppTheme</item>

    <item name="android:checkboxStyle">@style/CheckBoxAppTheme</item>

    <item name="android:radioButtonStyle">@style/RadioButtonAppTheme</item>

    <item name="android:buttonStyle">@style/ButtonAppTheme</item>

    <item name="android:imageButtonStyle">@style/ImageButtonAppTheme</item>

    <item name="android:spinnerStyle">@style/SpinnerAppTheme</item>

    <item name="android:dropDownSpinnerStyle">@style/SpinnerAppTheme.DropDown</item>

    <item name="android:spinnerDropDownItemStyle">@style/SpinnerDropDownItemAppTheme</item>

  </style>

</resources>

问题是小部件没有采用正确的样式,而是采用了默认样式。我试图在编辑文本中强制分配 @style/EditTextAppTheme 并且它有效..所以问题是主题不适用。

任何想法?

更新:主题适用并且工作良好..独奏问题是对话框中的一些编辑文本,显示标准主题

4

2 回答 2

1

要在 App 及以下版本中获取全息主题样式API 10,您可以使用HoloEverywhere. 它与ActionBarSherlock. ActionBarSherlock包含在一个子项目中。https://github.com/ChristopheVersieux/HoloEverywhere

于 2012-11-14T19:54:10.330 回答
1

如果您想使用自定义主题,您必须在应用程序主题中设置这些样式属性。然后通过在清单中定义它或在 onCreate() 方法中以编程方式设置它来将此主题应用于整个 App 或单个 Activity。

例如(对于 ABS):

<style name="Theme.myStyle" parent="Theme.Sherlock">
<item name="android:editTextStyle">@style/EditTextAppTheme</item>

<item name="android:checkboxStyle">@style/CheckBoxAppTheme</item>

<item name="android:radioButtonStyle">@style/RadioButtonAppTheme</item>

<item name="android:buttonStyle">@style/ButtonAppTheme</item>

<item name="android:imageButtonStyle">@style/ImageButtonAppTheme</item>

<item name="android:spinnerStyle">@style/SpinnerAppTheme</item>

<item name="android:dropDownSpinnerStyle">@style/SpinnerAppTheme.DropDown</item>

<item name="android:spinnerDropDownItemStyle">@style/SpinnerDropDownItemAppTheme</item>
</style>

然后将此主题设置为您的应用程序或清单中的活动:

 android:theme="@style/Theme.myStyle" 

或以编程方式:

setTheme(R.style.Theme.myStyle);
于 2012-11-14T19:57:19.573 回答