【发布时间】:2014-09-01 12:42:50
【问题描述】:
我正在使用带有 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 上?
【问题讨论】:
-
是的,我已经在使用 syncState 方法了。它只是在低 1pi 上不起作用
标签: android android-actionbar actionbarsherlock