android 中的 GradientDrawable

GradientDrawable in android

我有 3 个按钮,需要有白色背景和半径 20

我的GradientDrawable函数

private GradientDrawable imageButtonGradient() {
        GradientDrawable buttonShape = new GradientDrawable();
        buttonShape.setCornerRadius(20);
        buttonShape.setColor(Color.WHITE);
        return buttonShape;
    }

我使用调用函数并设置背景

GradientDrawable buttonGradient = imageButtonGradient(); captureImageButton.setBackground(buttonGradient);

我可以看到它的捕获按钮,因为我需要它

但是当我使用渐变返回和提交按钮时

我正在为 GradientDrawable 使用相同的函数。使用相同的方式调用函数。我正在使用它如下

captureImageButton.setBackground(buttonGradient);
backButton.setBackground(buttonGradient);
submitButton.setBackground(buttonGradient);

如图所示,后退按钮和提交按钮都被圆化了。所以它正在工作,但我只是不确定为什么 captureImageButton 没有像它应该的那样显示全白。

有什么建议吗?

找到解决方案,

出于某些奇怪的原因,我不得不调用 GradientDrawable 函数两次,一次用于返回和提交按钮,一次用于捕获按钮。

GradientDrawable buttonGradient = imageButtonGradient();
GradientDrawable captureButtonGradient = imageButtonGradient();

然后设置背景如下

captureImageButton.setBackground(captureButtonGradient);
backButton.setBackground(buttonGradient);
submitButton.setBackground(buttonGradient);

还是谢谢你。