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

时间:2017-06-28 16:19:46

标签: android android-actionbar android-drawable back up-navigation

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

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

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

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

5 个答案:

答案 0 :(得分:14)

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

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

特别是后箭头的资源是?attr/homeAsUpIndicator

答案 1 :(得分:6)

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

size_t arrLength( char** arr) {
    size_t i = 0;
    size_t count = 0;
    int len;
   len = sizeof(**arr) / sizeof(arr[0]);
    for (i = 0; i < len; i++) {
        printf("%zu - %s\n", count + 1, *(arr + i));
        count++;
    }

    return count;
}

int main(void) {
    char* names[] = { "Jimmy", "Tom", "Michael", "Maria", "Sandra", "Madonna" };
    size_t length, size;

    //size = sizeof(names) / sizeof(names[0]);
    length = arrLength(names);

    printf("\n");
    printf("The number of strings found are %zu\n", length);
    return 0;
}

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

androidx.appcompat.R.drawable.abc_ic_ab_back_material

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

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

答案 2 :(得分:1)

您可以使用 Android asset studio 轻松创建后退箭头。

单击res文件夹,然后右键单击drawable -> New -> Vector Asset

enter image description here

答案 3 :(得分:0)

工具栏中后退按钮的ID为

  

android.R.id.home

您可以在Activity的onOptionsItemSelected方法中执行操作。

session,ave rate from user(bps),ave rate to user(bps)
   43    17104773            247272821
   45    17104234            24728978

答案 4 :(得分:-3)

ActionBar中可绘制的后箭头的ID为android.R.id.home