我正在向操作栏添加自定义视图,但是当我这样做时,不会显示导航指示器图标。当我不显示自定义视图时,指示器显示并正常工作。
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);
getActionBar().setBackgroundDrawable(getResources().getDrawable(navConf.getBackgroundDraw()));
if (0 != navConf.getActionBarCustomView()){
getActionBar().setCustomView(navConf.getActionBarCustomView());
getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM
| ActionBar.DISPLAY_SHOW_HOME);
}
try{
mDrawerToggle = new ActionBarDrawerToggle(
this,
mDrawerLayout,
navConf.getDrawerIcon(),
navConf.getDrawerOpenDesc(),
navConf.getDrawerCloseDesc()
) {
public void onDrawerClosed(View view) {
getActionBar().setTitle(mTitle);
ActivityCompat.invalidateOptionsMenu(AbstractNavDrawerActivity.this);
}
public void onDrawerOpened(View drawerView) {
getActionBar().setTitle(mDrawerTitle);
ActivityCompat.invalidateOptionsMenu(AbstractNavDrawerActivity.this);
}
};
}
catch (Exception ex){
Log.e("ActionBarDrawerToggle: ", ex.toString());
}
mDrawerLayout.setDrawerListener(mDrawerToggle);
答案 0 :(得分:0)
getActionBar().setDisplayShowCustomEnabled(true);
getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getActionBar().setIcon(R.mipmap.icon_menu);
getActionBar().setCustomView(getLayoutInflater().inflate(R.layout.actionbar_main, null),
new ActionBar.LayoutParams(
ActionBar.LayoutParams.WRAP_CONTENT,
ActionBar.LayoutParams.MATCH_PARENT,
Gravity.CENTER
)
);
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
R.mipmap.icon_menu, //nav menu toggle icon
0, // nav drawer open - description for accessibility
0 // nav drawer close - description for accessibility
) {
public void onDrawerClosed(View view) {
getActionBar().setTitle(mTitle);
// calling onPrepareOptionsMenu() to show action bar icons
invalidateOptionsMenu();
}
public void onDrawerOpened(View drawerView) {
getActionBar().setTitle(mDrawerTitle);
// calling onPrepareOptionsMenu() to hide action bar icons
invalidateOptionsMenu();
}
};
答案 1 :(得分:0)
将此标志添加为ActionBar显示选项:
ActionBar.DISPLAY_HOME_AS_UP