【问题标题】:How do I programmatically translate a Drawable Gradient?如何以编程方式翻译 Drawable Gradient?
【发布时间】:2019-04-09 09:52:10
【问题描述】:

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

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

    要在代码中执行此操作,您需要创建一个 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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-16
      • 2017-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-30
      • 1970-01-01
      • 2013-01-11
      相关资源
      最近更新 更多