XML 리소스에서 드로어 블을 사용할 수 있으며 해당 드로어 블을 사용하지만 그라디언트 색상을 동적으로 설정하고 싶습니다. Android - 드로어 블 그라디언트를 동적으로 설정하십시오.
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:radius="3dip">
</corners>
<gradient
android:angle="90"
android:type="linear"
android:startColor="#FFFFFFFF"
android:centerColor="#FFFF0000"
android:endColor="#FFFF0000">
</gradient>
</shape>
지금 내가 런타임에 드로어 블을 받고 GradientDrawable로 캐스팅하고, 색상을 설정하는 방법을 사용하여 동적으로 색상을 만들 수있을 것이라고 생각 : 지금까지 나는 이런 식으로 뭔가가있다. 그러나 GradientDrawable에는 이러한 메서드가 없으며 생성자에서 색만 설정할 수 있습니다. 나는 그라데이션의 다른 모든 측면을 설정할 수 있기 때문에 이것이 이상하다는 것을 알게됩니다. onDraw()를 재정의하고 직접 그라디언트를 수행하는 것보다 쉬운 방법이 있습니까? 내가 사용하려고하는 클래스 중 일부는 매우 잘 문서화되어 있지 않습니다.
참고 GradientDrawable 지금 setColors을 지원 : http://developer.android.com/reference/android/graphics/drawable/GradientDrawable.html#setColors 16. –
굉장한 확실히 API 레벨 등을 ([] INT) 헤즈 업! –