问题
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