0

好吧,我的程序在 4.0 及以上版本上完美运行,

我正在使用ActionBarShrelock库来执行此操作。

当我将目标更改为 2.3.3 target=android-10

它在“R.id.home”处出错。

switch (item.getItemId()) 
    {
        case android.R.id.home:
        Log.d("home","home selected");
        slidemenu.show();
        return true;
    }

即使我已将样式更改为:

<style name="AppTheme" parent="Theme.Sherlock.Light.DarkActionBar"/>

但如果我改变目标用法: <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" />

它适用于 2.3 以及 4.0 及更高版本,但问题是视觉效果不同。

4.0的输出如下图所示。

在此处输入图像描述

2.3.3 的输出如下图所示。 在此处输入图像描述

知道如何解决这个问题。?

4

4 回答 4

5

ActionBar 需要更高的 API 级别,这就是为什么它不适用于 2.3.3。

ActionBar是在 API 级别 11 中引入的,即Android 3.0

要在低于该 API 级别的 API 中使用 ActionBar,您可以使用ActionBarSherlock

于 2013-06-07T05:29:40.270 回答
1

在您的清单中放置targetSdk="17"(无论如何,放置尽可能高的)和minSdk="8"

实际上,从 Sherlock 附带的任何 ABS 示例中复制这些值。

于 2013-06-07T05:32:02.927 回答
0

您可以尝试将清单中的主题设置为android:theme="@style/Theme.Sherlock"

于 2013-06-07T05:40:57.957 回答
0
it's giving error at "R.id.home".

看来进口可能有问题,你会检查你的进口

以下导入适用于ActionBar

 com.actionbarsherlock.app.ActionBar

以下导入适用于Menu

 com.actionbarsherlock.view.Menu
 com.actionbarsherlock.view.MenuItem
 com.actionbarsherlock.view.MenuInflater
于 2013-06-07T05:41:49.073 回答