【问题标题】:Custom theme and sherlockActionBar自定义主题和 sherlockActionBar
【发布时间】:2012-11-14 19:47:16
【问题描述】:

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

我这样做了:

 <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 并且它有效..所以问题是主题不适用。

有什么想法吗?

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

【问题讨论】:

    标签: android actionbarsherlock android-theme


    【解决方案1】:

    要在API 10 及以下的应用程序中获取全息主题样式,您可以使用HoloEverywhere。它与ActionBarSherlock 很好地集成在一起。 ActionBarSherlock 包含在子项目中。 https://github.com/ChristopheVersieux/HoloEverywhere

    【讨论】:

      【解决方案2】:

      如果您想使用自定义主题,您必须在应用程序主题中设置这些样式属性。然后通过在清单中定义它或在 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);
      

      【讨论】:

      • 也许你为你的 Activity 设置了另一个主题。
      • 不,仅在应用程序标签上。 (这就是我做这个帖子的原因:D)
      • 嗯,这确实很奇怪:D
      • 我在原来的问题中添加了一个新内容
      猜你喜欢
      • 1970-01-01
      • 2020-05-12
      • 1970-01-01
      • 2021-12-06
      • 2019-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-01
      相关资源
      最近更新 更多