我有以下梯度更改漸變中心動態
<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" />
我需要做的是改變基於一個ListView位置變化的漸變中心。是否有可能以編程方式創建此漸變?
我試過這種方法,但如果我改變中心值,沒有任何反應,它保持不變:
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);
我缺少什麼?謝謝。
你不能達到你的目標。看起來有一個公開的問題。檢查這個答案:https://stackoverflow.com/a/14383974/334522 – sromku
@sromku我看到這個帖子,但它是4歲,我想也許它已經解決了 – Phantom
不幸的是,它不是,因爲它從最後的評論從2017年起 - https://issuetracker.google.com/issues/36944181 :( – sromku