What is the ID of the back arrow drawable in the ActionBar?

馋奶兔 提交于 2019-12-22 04:59:32

问题


The following code causes a back arrow to appear in the ActionBar:

getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

I'm looking for the resource ID of the arrow drawable, i.e. android.R.drawable.xxx. The reason I need this ID is so that I can manually set an identical arrow (size & colour) elsewhere in my app.

I tried making my own drawable and using that but the size was different from the one in the ActionBar.


回答1:


If you have the support library in your project, you can make a back button in any place in your applicaction like this:

<ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="?attr/homeAsUpIndicator"
        android:background="?attr/selectableItemBackgroundBorderless"/>

Specifically the resource for the back arrow is ?attr/homeAsUpIndicator.




回答2:


The id of the back button in Toolbar is

android.R.id.home

You can take action from onOptionsItemSelected Method on Activity.

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if (item.getItemId() == android.R.id.home) {
        //Do your task here.
        return true;
    }
    return super.onOptionsItemSelected(item);
}


来源:https://stackoverflow.com/questions/44807847/what-is-the-id-of-the-back-arrow-drawable-in-the-actionbar

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!