Java 编程侧ActionBar中可绘制的后向箭头ID
我正在搜索背向箭头的默认可绘制。In演示了如何在xml中获取它。但我正在寻找在编程方面的使用(java/kotlin) 我想在如下代码中使用此可绘制id:Java 编程侧ActionBar中可绘制的后向箭头ID,java,android,kotlin,android-resources,Java,Android,Kotlin,Android Resources,我正在搜索背向箭头的默认可绘制。In演示了如何在xml中获取它。但我正在寻找在编程方面的使用(java/kotlin) 我想在如下代码中使用此可绘制id: ContextCompat.getDrawable(context, homeAsUpIndicatorId); 创建可绘制并将可绘制id传递给函数。例如,我创建了一个名为arrow\u back.xml的向量可绘制文件 <?xml version="1.0" encoding="utf-8"?> <vector
ContextCompat.getDrawable(context, homeAsUpIndicatorId);
创建可绘制并将可绘制id传递给函数。例如,我创建了一个名为
arrow\u back.xml
的向量可绘制文件
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0"
android:autoMirrored="true">
<path
android:pathData="M20,11L7.8,11l5.6,-5.6L12,4l-8,8l8,8l1.4,-1.4L7.8,13L20,13L20,11z"
android:fillColor="#fff"/>
</vector>
编辑:
执行以下操作以从主页获取可绘图指示ID
:
TypedArray a = getTheme().obtainStyledAttributes(R.style.AppTheme, new int[] {R.attr.homeAsUpIndicator});
int attributeResourceId = a.getResourceId(0, 0);
ContextCompat.getDrawable(context, attributeResourceId);
a.recycle()
您可以使用此代码段
val a = theme.obtainStyledAttributes(R.style.AppTheme, (R.attr.homeAsUpIndicator))
val attributeResourceId = a.getResourceId(0, 0)
val drawable = ContextCompat.getDrawable(this, attributeResourceId)
谢谢你的回答,但我需要默认的android drawable。这很好。我真的不明白你为什么要否决它。此外,我发布的XML代码是从默认的vector drawable复制而来的。你可以在这里找到back按钮的原始源代码:home作为指示符在这里默认情况下,我的意思是不添加我的drawable。检查我对我的文章所做的编辑,如果这对你不起作用。然后你需要解释你真正想要什么。
val a = theme.obtainStyledAttributes(R.style.AppTheme, (R.attr.homeAsUpIndicator))
val attributeResourceId = a.getResourceId(0, 0)
val drawable = ContextCompat.getDrawable(this, attributeResourceId)