[英]ActionBarDisappearing on Android 4.0+
我目前正在為2.3-4.2+上的設備編寫應用程序,並且遇到了一些奇怪的意外問題。 在嘗試為其設定主題之前,它一直運行良好,直到在所有設備上顯示為止。 即使使用簡單的樣式簡單地擴展了動作欄夏洛克主題,也似乎沒有顯示動作欄。
樣式的設置。
<style name="FrameworkRoot.Theme" parent="Theme.Sherlock.Light.DarkActionBar">
<!-- API 11+ (compatibility) -->
<item name="buttonBarStyle">@style/Compat.ButtonBar</item>
<item name="buttonBarButtonStyle">@style/Compat.ButtonBarButton</item>
<item name="indeterminateProgressStyle">@style/Compat.IndeterminateProgress</item>
<!-- API 14+ (compatibility) -->
<item name="listPreferredItemPaddingLeft">@dimen/compat_list_preferred_item_padding_left</item>
<item name="listPreferredItemPaddingRight">@dimen/compat_list_preferred_item_padding_right</item>
<item name="listPreferredItemHeightSmall">@dimen/compat_list_preferred_item_height_small</item>
</style>
<style name="Theme.Base" parent="FrameworkRoot.Theme">
<item name="textHeaderMaxLines">@integer/text_header_max_lines</item>
<item name="trackAbstractMaxLines">@integer/track_abstract_max_lines</item>
<item name="activatableItemBackground">@drawable/activatable_item_background</item>
</style>
<!-- Base themes for the app -->
<style name="Theme.TestApp" parent="Theme.Base">
<item name="actionBarStyle">@style/Widget.TestApp.ActionBar</item>
<item name="android:actionBarStyle">@style/Widget.TestApp.ActionBar</item>
</style>
<!-- Base Action Bar Style -->
<style name="Widget.TestApp.ActionBar" parent="Theme.Sherlock.Light.DarkActionBar">
</style>
如果我刪除:
<item name="android:actionBarStyle">@style/Widget.TestApp.ActionBar</item>
為了使動作欄本身不會在3.0+中設置樣式,我無法設置樣式。
進行此設置的最佳方法是什么? AndroidManifest.xml將應用程序的樣式指向“ Theme.TestApp”。
我的最終目標是在操作欄上具有自定義背景,以及自定義選項卡選擇器的顏色和字體。 最好的方法是什么,因為我目前的方法效果不佳。
您必須為ActionBarSherlock 和本機ActionBar設置屬性。 因此,例如,替換為:
<style name="Theme.Base" parent="FrameworkRoot.Theme">
<item name="textHeaderMaxLines">@integer/text_header_max_lines</item>
<item name="trackAbstractMaxLines">@integer/track_abstract_max_lines</item>
<item name="activatableItemBackground">@drawable/activatable_item_background</item>
</style>
有了這個:
<style name="Theme.Base" parent="FrameworkRoot.Theme">
<item name="textHeaderMaxLines">@integer/text_header_max_lines</item>
<item name="trackAbstractMaxLines">@integer/track_abstract_max_lines</item>
<item name="activatableItemBackground">@drawable/activatable_item_background</item>
<item name="android:textHeaderMaxLines">@integer/text_header_max_lines</item>
<item name="android:trackAbstractMaxLines">@integer/track_abstract_max_lines</item>
<item name="android:activatableItemBackground">@drawable/activatable_item_background</item>
</style>
帶有“ android”前綴的屬性指向本機ActionBar的內部資源,前面沒有“ android”的屬性指向ActionBarSherlock的資源。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.