java - 如何仅对按钮的背景颜色应用透明度
问题描述
我是 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 函数,但它也改变了我的边框颜色透明度。
我怎样才能做到这一点?谢谢。
解决方案
您需要使用您在项目中指定的颜色的 alpha 部分。
例如 - #aarrggbb - aa 部分是 alpha。
如果你想单独改变笔触/纯色,我推荐使用 GradientDrawablesetStroke()
和 `setColor()'。
以供参考 -
https://developer.android.com/reference/android/graphics/drawable/GradientDrawable#setColor(int)
推荐阅读
- python - 根据条件从字典列表中制作唯一的字典对
- html - 在 CSS 中使用表情符号有什么好处?
- spring - Multiprofile 的 Spring Profiles 问题
- kubernetes - Kubernetes hpa 无法获取内存指标(明确说明时)
- c# - 具有 f5 Big-IP 的 HttpClient - 无法从传输连接读取数据(但 curl 有效)
- php - 如果函数不存在,如何重定向到另一个脚本?
- javascript - 使用本地存储对数组中的数据进行字符串化
- python - 如何在 tkinter 中使用鼠标滚轮进行滚动
- python - docx.opc.exceptions.PackageNotFoundError
- git - Git:如何在没有所有先前历史的情况下挑选提交