如何以编程方式翻译Drawable Gradient?

问题描述 投票:0回答:1

我尝试以编程方式创建的线性渐变:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<gradient
    android:type="linear"
    android:centerX="50%"
    android:startColor="#FFFFFFFF"
    android:centerColor="#99FF8A8A"
    android:endColor="#FFF8F8F8"
    android:angle="90"/>
</shape>

我写了这段代码:但我没有得到相同的结果。

GradientDrawable _gradientDrawable = new GradientDrawable(
        GradientDrawable.Orientation.BOTTOM_TOP, new int[]{
        Color.parseColor("#FFFFFFFF"),
        Color.parseColor("#99FF8A8A"),
        Color.parseColor("#FF8F8F8")
});

myimage.setBackground(_gradientDrawable);

哪里是我的错?

android xml gradient drawable
1个回答
0
投票

要在代码中执行此操作,请创建GradientDrawable。

设置角度和颜色的唯一机会在构造函数中。

如果要更改颜色或角度,只需创建一个新的GradientDrawable并将其设置为背景。

View layout = findViewById(R.id.mainlayout);

    GradientDrawable gd = new GradientDrawable(
            GradientDrawable.Orientation.TOP_BOTTOM,
            new int[] {0xFF616261,0xFF131313});
    gd.setCornerRadius(0f);

    layout.setBackgroundDrawable(gd);
© www.soinside.com 2019 - 2024. All rights reserved.