如何使用Android GradientDrawable

我尝试使用GradientDrawable将渐变设置为某些背景和按钮。 可悲的是, 文档不是很详细。

配置渐变的主要属性是什么? 我理解start和endcolor,但其他一些属性可能需要一些解释。

目前我使用图像作为按钮的背景,但是用XML定义的drawable会更好。

我尝试看起来像这样(这是一个非常轻的渐变): alt text http://img.androidcookie.com/android/Janusz_Leidgens

使用此xml作为imageview的背景。

    

而已。

我将给出与Praveen相同的答案,但也会尝试解释这些设置。

    

机器人:types

有三种types的渐变,默认和这个问题的一个是“线性”。 另外2个是“径向”和“扫描”。

机器人:角

逆时针旋转渐变,其中0为| 开始颜色 – >结束颜色| (水平方向)。

机器人:startColor

颜色从渐变开始,开始由旋转定义。

机器人:ENDCOLOR

颜色渐变结束,结束由旋转定义。

机器人:centerColor

如果需要,在开始颜色和结束颜色之间也可以有颜色。

在此处输入图像描述

我最初发现这个问题是因为我想在代码中做到这一点。 以下是如何以编程方式执行此操作。

 int startColor = 0xfff6ee19; // yellow int endColor = 0xff115ede; // blue GradientDrawable gradientDrawable = new GradientDrawable( GradientDrawable.Orientation.LEFT_RIGHT, new int[] {startColor, endColor}); View myView = findViewById(R.id.my_view); myView.setBackgroundDrawable(gradientDrawable); 

可以通过更改构造函数中的Orientation来实现顶部图像中的不同方向。

XML

正如已经回答的那样,这就是你在xml中的表现。

my_gradient_drawable.xml

     

您将其设置为某个视图的背景。 例如:

  

也可以看看

  • 如何在android中制作渐变背景
  • GradientDrawable文档