汉堡包没有显示低api水平

时间:2014-07-11 00:34:08

标签: android android-actionbar actionbarsherlock

我正在使用带有ActionBarDrawerToggle的ActionBarSherlock实现一个操作栏。它应该在动作栏的左侧显示一个汉堡按钮。它在更高的api级别上运行良好(在api级别16以上的设备上测试)。但它并不适用于Android 2.3.7设备(api 10)。在该设备上,显示左插入符号(<)。我搜索了互联网,但似乎这不是一个常见的问题。所以我确信我做错了什么:

以下是我在代码中处理ActionBarDrawerToggle的方法:

public class MyActivity extends SherlockFragmentActivity {
    private ActionBarDrawerToggle drawerToggle;
    private MySidebarDrawerLayout sidebarDrawerLayout;
    ...

@Override
protected final void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.home);
    // init side bar drawer
    sidebarDrawerLayout = (SidebarDrawerLayout) 
        findViewById(R.id.sidebar_drawer_layout);

    drawerToggle = new ActionBarDrawerToggle(this, sidebarDrawerLayout, R.drawable.hamburger, R.string.drawer_open,R.string.drawer_close) {
        @Override
        public void onDrawerOpened(View drawerView) {
            super.onDrawerOpened(drawerView);
        }

        @Override
        public void onDrawerClosed(View drawerView) {
            super.onDrawerClosed(drawerView);
        }
    };

    ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);
    ...
}
}

那么为什么汉堡包没有显示出较低的api?

1 个答案:

答案 0 :(得分:2)

以你的风格声明

<style name="AppBaseTheme" parent="@style/Theme.Sherlock.Light">

      <item name="homeAsUpIndicator">@drawable/hamburger</item>

</style>

并在你的清单中提及

 android:theme="@style/AppBaseTheme"