代码中的GradientDrawable

我可以使用以下XML

    

渐变很好

我正在尝试使用代码(没有XML)做同样的事情

 int colors [] = {0xff255779,0xff3e7492,0xffa6c0cd};

 GradientDrawable g = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM,colors);

 setBackgroundDrawable(克);

渐变DOES出现但它与XML中的那个不一样,我的意思是颜色相同但渐变不相同,我认为它与xml中的开始,中间,结束颜色有关

我该如何添加一个笔画

任何帮助将不胜感激

根据文件

机器人:角
整数。 渐变的角度,以度为单位。 0从左到右, 90从下到上 。 它必须是45的倍数。默认值为0

但您正在使用GradientDrawable.Orientation。 代码中的TOP_BOTTOM 。 这就是梯度方向不同的原因

您应该使用GradientDrawable.Orientation。 而是BOTTOM_TOP