Android 2中的ActionBarSherlok + DrawerLayout

时间:2013-10-01 12:58:03

标签: android actionbarsherlock drawerlayout

我使用ActionBarSherlok和DrawerLayout,一切正常,但在Android 2.3 ActionBar抽屉图标中不显示。 Insted它显示后退图标。在Android 4中显示抽屉图标。

enter image description here

如何将Android 2中的图标更改为Android 4中的抽屉图标?

我使用下一个代码来初始化抽屉:

drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);

drawerToggle = new ActionBarDrawerToggle(this, drawer,
        R.drawable.ic_drawer, R.string.main_01, R.string.main_02) {
    public void onDrawerClosed(View view) {
        getSupportActionBar().setTitle(title);
        invalidateOptionsMenu();
    }

    public void onDrawerOpened(View drawerView) {
        getSupportActionBar().setTitle(drawerTitle);
        invalidateOptionsMenu();
    }
};

drawer.setDrawerListener(drawerToggle);     
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

2 个答案:

答案 0 :(得分:1)

“up”可供性指标由主题的homeAsUpIndicator属性中指定的drawable提供。要使用您自己的自定义版本覆盖它,它将是这样的:

<style name="Theme.MyFancyTheme" parent="android:Theme.Holo">
   <item name="android:homeAsUpIndicator">@drawable/my_fancy_up_indicator</item>
  </style>

如果您在申请时支持pre-3.0,请务必将此版本的自定义主题放在values-v11或类似内容中。

答案 1 :(得分:0)

ActionBarDrawerToggle用于本机API Level 11操作栏,可能用于AppCompat操作栏(不确定该操作栏)。

对于ActionBarSherlock,请使用Sherlock-aware drawer implementation,或按照this issuethis issue中的说明实施解决方法。