我正在构建一个具有透明背景的 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"/>
结果是一个完全不透明的 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)));
这是结果:
请注意,中心和边框之间有一个填充。 CardView 是空的,其中没有子视图,我尝试使用/不使用 setPreventCornerOverlap() 调用来查看这是否是问题所在......任何人都可以解释为什么这种情况发生在我身上吗?
1) 为什么带有cardBackgroundColor的CardView的XML定义忽略alpha着色
2)为什么以编程方式设置cardBackgroundColor会导致着色工作,但现在隐式添加了填充?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)