如何使ActionBar兼容2.3.3版本?

时间:2013-06-07 05:27:26

标签: android

我的程序在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的输出如下所示。

enter image description here

2.3.3的输出如下所示。 enter image description here

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

4 个答案:

答案 0 :(得分:5)

ActionBar需要更高的API级别,这就是它无法在2.3.3上运行的原因。

API级别11中引入了

ActionBar ,即 Android 3.0

要在API级别较低中使用ActionBar,您可以使用 ActionBarSherlock

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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

答案 3 :(得分: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
相关问题