bas*_*asu 4 android actionbarsherlock android-actionbar
在我的应用程序中,我正在使用ActionBarSherlock库.我也在使用自定义标题栏.这是我的onCreate:
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main_tab);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title);
Run Code Online (Sandbox Code Playgroud)
在我的styles.mxl
<style name="MyTheme" parent="Theme.Sherlock">
<item name="android:background">#ff888888</item>
<item name="android:windowNoTitle">false</item>
<item name="android:windowTitleSize">50dp</item>
<item name="android:windowTitleBackgroundStyle">@style/windowTitleBackgroundStyle</item>
</style>
<style name="windowTitleBackgroundStyle">
<item name="android:background">#00688B</item>
</style>
Run Code Online (Sandbox Code Playgroud)
在Manifest文件中,我使用MyTheme进行活动.
android:theme="@style/MyTheme"
Run Code Online (Sandbox Code Playgroud)
此代码适用于较低的Android版本(我已使用GB2.3.5进行了测试).但是当我使用ICS进行测试时,它崩溃了以下错误:"你无法将自定义标题与其他标题功能结合起来"我在StackOVerflow讨论中进行了彻底的讨论,但无法解决问题.解决方案尝试:1)假2)没有值-v11文件夹
cra*_*grf 10
我收到了同样的例外.
以下是我发现的内容: 在较新版本的Android中,只要选择了Holo主题,框架就会使用Window.FEATURE_ACTION_BAR功能.只要应用程序调用setFeatureInt(Window.FEATURE_CUSTOM_TITLE)并且已设置FEATURE_ACTION_BAR,框架就会抛出异常.
在我的例子中,values-v11文件夹中的styles.xml文件重新定义了我的主题以继承自android:Theme.Holo.当我试图在Android 3.0或更高版本上运行我的应用程序时 - 它崩溃了,因为Holo默认使用ActionBar.修复很简单.使用Holo时关闭ActionBar.以下是修订后的值-v11\styles.xml更改:
<style name="AppBaseTheme" parent="android:Theme.Holo.NoActionBar">
<!-- API 11 theme customizations can go here. -->
</style>
Run Code Online (Sandbox Code Playgroud)