2015-04-29 29 views
5

GradientDrawable için xml izliyorum. Açıyı programatik olarak nasıl değiştirebilirim? .setOrientation(GradientDrawable.Orientation orientation), bununla gradyanı yönünü değiştirebilir:GradientDrawable değişim açısı program aracılığıyla

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <gradient android:type="linear" 
     android:angle="45" 
     android:startColor="#FF0000" 
     android:endColor="#00FF00" /> 
</shape> 
+0

GradientDrawable bu ihtiyaçlarınız olsaydı bilmiyorum bir setOrientation (GradientDrawable.Orientation yönlendirme) var? –

cevap

6

GradientDrawable adlı bir yöntem vardır. XML'yi GradientDrawable olarak şişirmeniz gerekir.

+0

Sadece çok özel sabit değerleri vardır, "açı" aslında istediğiniz herhangi bir dereceyi ayarlayabileceğiniz bir yüzdür, hayır? –

+0

GradientDrawable sağlayıcılarının setAngle() olduğunu düşünmüyorum, bu yüzden programlı olarak ayarlayamazsınız. –

+0

XML'de bunun setOrientation ile eşleşen bir kısıtlaması var: https://developer.android.com/reference/android/graphics/drawable/GradientDrawable.html#attr_android:angle "" aralık [0, 315]. " . https://developer.android.com/reference/android/graphics/drawable/GradientDrawable.Orientation.html. Yani aslında aynı, ancak bazı sebeplerden dolayı farklı isimler. –

-1

Dene:

GradientDrawable appTheme = new GradientDrawable(GradientDrawable.Orientation.BL_TR, colors); 
İlgili konular