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

13,510

Solution 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.

Solution 2

If you need to use the default back arrow of Android SDK and also with AndroidX then you can reach it with the following

androidx.appcompat.R.drawable.abc_ic_ab_back_material

Additionally, if you are planning to use it for a custom toolbar then you can set it like this

toolbar.setNavigationIcon(androidx.appcompat.R.drawable.abc_ic_ab_back_material)

And if you need to set click listener

toolbar.setNavigationOnClickListener { doSomething() }

Solution 3

You can easily create a back arrow using Android asset studio.

Click on res folder and then right click on drawable -> New -> Vector Asset

enter image description here

Share:
13,510
hmuss
Author by

hmuss

Updated on July 10, 2022

Comments

  • hmuss
    hmuss almost 2 years

    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.