如何仅在按钮的背景色上应用透明度

时间:2019-01-28 15:41:56

标签: java android

我是Android Studio的初学者,需要您的帮助才能在布局上应用特定的透明度。

我通过使用此drawable将背景和边框颜色应用于布局:

    <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="@android:color/black" />
    <corners android:radius="3dp" />
    <stroke android:width="5px" android:color="#ffa500" />
</shape>

现在,我想对该按钮(使用搜索栏)动态地动态应用透明度,但只希望在背景颜色上不修改边框颜色。 我尝试使用setAlpha函数,但它也会更改边框颜色的透明度。

我该怎么做? 谢谢。

2 个答案:

答案 0 :(得分:1)

您需要使用在项目中指定的颜色的Alpha部分。

例如-#aarrggbb-一部分是字母。

如果要单独更改笔触/纯色,建议将GradientDrawable设置为setStroke()和`setColor()'。

供参考-

https://developer.android.com/reference/android/graphics/drawable/GradientDrawable#setColor(int)

https://developer.android.com/reference/android/graphics/drawable/GradientDrawable.html#setStroke(int,%20android.content.res.ColorStateList,%20float,%20float)

答案 1 :(得分:1)

在您的形状中,将<solid android:color="@android:color/black" />更改为<solid android:color="#00FFFFFF" /> 这将使您的形状透明。 然后在您的xml <Button .... android:background="@drawable/your_shape" />