我正在使用xml绘制一个三角形,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/rightArrow">
<rotate
android:fromDegrees="45"
android:toDegrees="45"
android:pivotX="-40%"
android:pivotY="87%" >
<shape
android:shape="rectangle" >
<stroke android:color="@android:color/transparent" android:width="10dp"/>
<solid
android:color="#000000" />
</shape>
</rotate>
</item>
</layer-list>
现在我需要在运行时设置这个三角形的颜色,所以我做了
LayerDrawable layers = (LayerDrawable) this.getActivity().getResources().getDrawable(R.drwable.customtriangle);
GradientDrawable shape = (GradientDrawable)(ldrawable.findDrawableByLayerId(R.id.layerItemRightArrow));
shape.setcolor(mycolor);
但是我面对的是rotaterwable,无法在
进行渐变式渲染GradientDrawable shape = (GradientDrawable)(ldrawable.findDrawableByLayerId(R.id.layerItemRightArrow));
我无法弄清楚如何处理...
任何帮助赞赏。
Thanx提前
答案 0 :(得分:4)
致电getDrawable()
上的RotateDrawable
以获取正在轮换的Drawable
。