ros*_*hal 5 transparency android android-cardview
我正在构建一个具有透明背景的 CardView,并且在尝试将 cardBackgroundColor 设置为带有 alpha 通道的一个时遇到了问题。
这是我尝试过的:
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/list_view_btn"
android:layout_width="@dimen/icon_size"
android:layout_height="@dimen/icon_size"
android:layout_gravity="bottom|start"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:layout_marginBottom="@dimen/icon_bottom_margin"
card_view:cardBackgroundColor="#66F9F9F9"
card_view:cardCornerRadius="3dp"/>
Run Code Online (Sandbox Code Playgroud)
结果是一个没有任何透明度的 CardView 按钮(但带有 F9F9F9 灰色,忽略 66 alpha 值)。因此,下一步是尝试以编程方式执行此操作:
mListBtn.setPreventCornerOverlap(false);
int baseColor = getResources().getColor(R.color.material_gray);
mListBtn.setCardBackgroundColor(Color.argb(50,
Color.red(baseColor),
Color.green(baseColor),
Color.blue(baseColor)));
Run Code Online (Sandbox Code Playgroud)
这是结果:
请注意,中心和边框之间有一个填充。CardView 是空的,里面没有子视图,我在有/没有 setPreventCornerOverlap() 调用的情况下尝试了这个,看看这是否是问题......有人可以解释为什么会发生这种情况吗?
1)为什么我的带有 cardBackgroundColor 的 CardView 的 XML 定义忽略了 alpha 着色
2) 为什么以编程方式设置 cardBackgroundColor 会导致着色起作用,但现在隐式添加了填充?
| 归档时间: |
|
| 查看次数: |
1266 次 |
| 最近记录: |