首页 > 解决方案 > 如何仅对按钮的背景颜色应用透明度

问题描述

我是 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 函数,但它也改变了我的边框颜色透明度。

我怎样才能做到这一点?谢谢。

标签: javaandroid

解决方案


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

例如 - #aarrggbb - aa 部分是 alpha。

如果你想单独改变笔触/纯色,我推荐使用 GradientDrawablesetStroke()和 `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)


推荐阅读