ActionBar中可绘制的后箭头的ID是多少?

hmu*_*uss 7 android back android-actionbar android-drawable up-navigation

以下代码导致后箭头出现在ActionBar中:

getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Run Code Online (Sandbox Code Playgroud)

我正在寻找arrow drawable的资源ID,即android.R.drawable.xxx.我需要这个ID的原因是我可以在我的应用程序的其他地方手动设置相同的箭头(大小和颜色).

我尝试制作自己的drawable并使用它,但大小与ActionBar中的大小不同.

Vor*_*ier 24

如果您的项目中有支持库,则可以在应用程序的任何位置创建一个后退按钮,如下所示:

<ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="?attr/homeAsUpIndicator"
        android:background="?attr/selectableItemBackgroundBorderless"/>
Run Code Online (Sandbox Code Playgroud)

具体来说,后箭头的资源是?attr/homeAsUpIndicator.

  • 如何以编程方式获取相同的ID? (6认同)

Ere*_*tku 10

如果您需要使用 Android SDK 和 AndroidX 的默认后退箭头,那么您可以通过以下方式访问它

androidx.appcompat.R.drawable.abc_ic_ab_back_material
Run Code Online (Sandbox Code Playgroud)

此外,如果您打算将它用于自定义工具栏,那么您可以这样设置

toolbar.setNavigationIcon(androidx.appcompat.R.drawable.abc_ic_ab_back_material)
Run Code Online (Sandbox Code Playgroud)

如果你需要设置点击监听器

toolbar.setNavigationOnClickListener { doSomething() }
Run Code Online (Sandbox Code Playgroud)