0

我正在尝试使用支持 v4ActionBarDrawerToggle将操作栏指示器更改为后退箭头,而不是导航抽屉的 3 个点。我也在使用 v4 Fragment、 v4 Drawerlayout、 v7ActionBar和 v7 ActionBarActivity

这就是我使用它的方式:

在 onCreate 中:

DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, R.drawable.ic_drawer, 
R.string.navigation_drawer_open, R.string.navigation_drawer_close);

当我尝试更改指标时,调用 没有问题setDrawerIndicatorEnabledActionBarDrawerToggle但尝试调用 时出现上述错误setHomeAsUpIndicator。我只能setHomeAsUpIndicator打电话getSupportActionBar()

public void turnOnActionBarUpIndicator()
{
    mDrawerToggle.setDrawerIndicatorEnabled(false);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setHomeAsUpIndicator(null); //this compiles
    mDrawerToggle.setHomeAsUpIndicator(null); //this line does not compile
}

这会导致指示器的外观发生变化,但不是功能,这意味着我将箭头视为指示器,但它会打开抽屉而不是返回堆栈。

我怎样才能同时获得外观和功能ActionBar

4

1 回答 1

0

可以说,如果您有一个用于导航的左侧抽屉,可以通过从左侧滑动打开,那么您应该始终将汉堡放在左上方以打开它。使您的导航层次结构有点混乱,因为它不遵守汉堡菜单工作方式的常见约定。

其次,不推荐使用 v4 切换,使用 v7。

于 2015-05-31T06:21:47.873 回答