Tôi đang thử nghiệm với nền có thể vẽ và không có vấn đề gì cho đến nay.Thay đổi màu nền gradient trên Android khi đang chạy
Tôi hiện đang cố gắng thay đổi màu nền gradient khi chạy.
Thật không may, không có API để thay đổi nó khi chạy, có vẻ như vậy. Không, ngay cả bằng cách cố gắng biến đổi() có thể vẽ được, như được giải thích tại đây: Drawable mutations
XML mẫu trông như thế này. Nó hoạt động, như mong đợi.
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#330000FF"
android:endColor="#110000FF"
android:angle="90"/>
</shape>
Đáng buồn thay, tôi muốn có một danh sách với màu sắc khác nhau, và họ sẽ phải được thay đổi programatically khi chạy.
Có cách nào khác để tạo nền gradient này khi chạy không? Có lẽ thậm chí không sử dụng XML hoàn toàn?
Có thể đưa ra giá trị góc trên không? – Ahmed
Nếu bạn đang sử dụng tính năng này trong một hoạt động, bạn có thể muốn chạy điều này, ví dụ: trong onWindowFocusChanges() thay vì onCreate(). –