Ich habe auf einem Listview basiert auf Positionsänderung der folgenden GradientenGradienten Zentrum dynamisch ändern
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:angle="90"
android:centerColor="#42f448"
android:centerX="0.5"
android:centerY="0.5"
android:endColor="#000000"
android:startColor="#000000"
android:type="linear" />
Was ich tun muss, ist das Zentrum des Gradienten zu ändern. Ist es möglich, diesen Gradienten programmgesteuert zu erstellen?
Ich habe diesen Ansatz versucht, aber wenn ich die Mittelwerte ändern, passiert nichts, es bleibt fest:
int colors[] = {0xff000000, 0xff42f448, 0xff000000};
GradientDrawable shape = new GradientDrawable();
shape.setOrientation(GradientDrawable.Orientation.TOP_BOTTOM);
shape.setColors(colors);
shape.setGradientCenter(0.3f, 0.3f);
view.setBackgroundDrawable(shape);
Was bin ich? Vielen Dank.
Sie können nicht. Sieht da ist ein offenes Problem. Überprüfen Sie diese Antwort: https://Stackoverflow.com/a/14383974/334522 – sromku
@sromku Ich sah diesen Beitrag, aber es ist 4 Jahre alt, ich dachte, vielleicht wurde es gelöst – Phantom
Leider war es nicht, wie es von den letzten Kommentaren aussieht von 2017 - https://issuetracker.google.com/issues/36944181 :( – sromku