SetHomeButtonEnabled不工作但setDisplayHomeAsUpEnabled正在工作

nks*_*nks 16 android

我想在操作栏中为应用程序中的所有活动添加应用程序图标,并在图标点击上,我想导航到我的应用程序的主页.

我尝试使用onCreate中的以下代码

ActionBar actionBar = getSupportActionBar();
actionBar.setLogo(R.drawable.ic_launcher);
actionBar.setDisplayUseLogoEnabled(true);
actionBar.setDisplayShowHomeEnabled(true);
actionBar.setHomeButtonEnabled(true);
Run Code Online (Sandbox Code Playgroud)

现在,应用程序图标将出现在操作栏中,但在单击它时,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);
Run Code Online (Sandbox Code Playgroud)

文档说使用setDisplayHomeAsUpEnabled和setHomeButtonEnabled,将调用onOptionsItemSelected,唯一的区别是向上箭头.我不需要操作栏中的向上箭头,我只需要应用程序图标.怎么办?

我的minSdkVersion 14和targetSdkVersion 21.

kan*_*idj 17

来自http://developer.android.com/reference/android/app/ActionBar.html#setHomeAsUpIndicator(int)

您可以使用:

actionBar.setHomeAsUpIndicator(R.drawable.ic_launcher);
actionBar.setDisplayShowHomeAsUpEnabled(true);
Run Code Online (Sandbox Code Playgroud)

这应该用你的图标替换后箭头

  • 知道为什么“setHomeButtonEnabled”不起作用吗? (2认同)

小智 5

您可以使用此:

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();
    }
});
Run Code Online (Sandbox Code Playgroud)