我想在操作栏中为应用程序中的所有活动添加应用程序图标,并点击图标,我想导航到我的应用程序的主页。
我尝试使用onCreate中的以下代码
ActionBar actionBar = getSupportActionBar();
actionBar.setLogo(R.drawable.ic_launcher);
actionBar.setDisplayUseLogoEnabled(true);
actionBar.setDisplayShowHomeEnabled(true);
actionBar.setHomeButtonEnabled(true);
现在应用程序图标出现在操作栏中,但点击它时,onOptionsItemSelected未被调用。但是如果使用actionBar.setDisplayHomeAsUpEnabled(true)而不是actionBar.setHomeButtonEnabled(true),则会使用item.getItemId()调用onOptionsItemSelected。以下是代码段
ActionBar actionBar = getSupportActionBar();
actionBar.setLogo(R.drawable.ic_launcher);
actionBar.setDisplayUseLogoEnabled(true);
actionBar.setDisplayShowHomeEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
文档说使用setDisplayHomeAsUpEnabled和setHomeButtonEnabled,将调用onOptionsItemSelected,唯一的区别是向上箭头。我不需要操作栏中的向上箭头,我只需要应用程序图标。怎么办?
我的minSdkVersion 14和targetSdkVersion 21.
答案 0 :(得分:16)
来自http://developer.android.com/reference/android/app/ActionBar.html#setHomeAsUpIndicator(int)
您可以使用:
actionBar.setHomeAsUpIndicator(R.drawable.ic_launcher);
actionBar.setDisplayShowHomeAsUpEnabled(true);
这应该用你的图标替换后箭头
答案 1 :(得分:4)
你可以用这个:
Toolbar toolbar = (Toolbar) findViewById(R.id.myToolbar);
toolbar.setNavigationIcon(R.drawable.ic_back);
setSupportActionBar(toolbar);
toolbar.setNavigationOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
finish();
}
});