如何以编程方式转换可绘制渐变?

时间:2019-04-09 09:52:10

标签: android xml gradient drawable

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

path.basename(path.dirname(''/foo/bar/baz/asdf/quux''))

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

<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>

我的错误在哪里?

1 个答案:

答案 0 :(得分: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);