我试图以编程方式重现以下渐变.
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="@color/startcolor"
android:centerColor="#343434"
android:endColor="#00000000"
android:type="radial"
android:gradientRadius="140"
android:centerY="45%"
/>
<corners android:radius="0dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
如何以编程方式设置参数?谢谢
android:centerY="45%"
Run Code Online (Sandbox Code Playgroud)
Chr*_*sJD 27
http://developer.android.com/reference/android/graphics/drawable/GradientDrawable.html
要设置该特定参数(我假设一个centerX值,因为你还没有指定一个):
yourGradientDrawable.setGradientCenter(1.0f, 0.45f);
Run Code Online (Sandbox Code Playgroud)
所以以编程方式创建上面的渐变(除了不同的颜色):
GradientDrawable g = new GradientDrawable(Orientation.TL_BR, new int[] { getResources().getColor(R.color.startcolor), Color.rgb(255, 0, 0), Color.BLUE });
g.setGradientType(GradientDrawable.RADIAL_GRADIENT);
g.setGradientRadius(140.0f);
g.setGradientCenter(0.0f, 0.45f);
Run Code Online (Sandbox Code Playgroud)
注意:径向渐变将忽略方向,但对于采用颜色的构造函数则需要方向.
归档时间: |
|
查看次数: |
13465 次 |
最近记录: |