Ich versuche, die Farbe der selectable_kachel_shape programmgesteuert zu ändern. Hier ist die XML-Datei:Ändern der Farbe in einer Form in einer Ebenenliste programmgesteuert
kachel_ticked_style.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape
android:id="@+id/selectable_kachel_shape"
android:shape="rectangle" >
<stroke
android:width="5dp"
android:color="@color/headrbar_color" />
</shape>
</item>
<item>
<rotate
android:fromDegrees="45"
android:pivotX="120%"
android:pivotY="100%"
android:toDegrees="45" >
<shape android:shape="line" >
<stroke
android:width="40dp"
android:color="@color/headrbar_color" />
</shape>
</rotate>
</item>
<item
android:right="5dp"
android:top="5dp">
<bitmap
android:gravity="top|right"
android:src="@drawable/selectable_tiles_check" />
</item>
</layer-list>
ich in einem Fragment nenne den folgenden Code
LayerDrawable layers = (LayerDrawable) this.getActivity().getResources().getDrawable(R.drawable.kachel_ticked_style);
GradientDrawable shape = (GradientDrawable) (layers.findDrawableByLayerId(R.id.selectable_kachel_shape));
shape.setColor(this.getActivity().getResources().getColor(android.R.color.background_dark);
1.Why bin ich eine Nullpointer in Form Geting. SetColor?
2.Wie wäre es möglich, die Farbe innerhalb einer Form, das heißt innerhalb einer Ebenenliste, programmgesteuert zu ändern?
aber hat die gleiche problem.This funktioniert nicht für mich –
Nun @ji Aufruf Ncyabraham können Sie die Ansicht dann seinen Hintergrund zeichnen dann erhalten die Form als Gradiendrawable wie hier [Link] (http://stackoverflow.com/questions/16636412/change-shape-solid-color-at-runtime-inside-in- drawable-xml-used-as-background) – M090009
Können Sie bitte zeigen, welche Schritte Sie unternommen haben, um das Shape-Objekt zu erhalten, ist es unklar. –