如果我将半透明颜色设置为 cardBackgroundColor,cardView 中间会出现奇怪的矩形形状
Posted
技术标签:
【中文标题】如果我将半透明颜色设置为 cardBackgroundColor,cardView 中间会出现奇怪的矩形形状【英文标题】:Strange rectangle shape appears in the middle of cardView if I set semi-transparent color to cardBackgroundColor 【发布时间】:2021-12-18 14:21:45 【问题描述】:我有以下布局。
<androidx.cardview.widget.CardView
android:layout_
android:layout_
app:cardBackgroundColor="#AACC0000"
app:cardCornerRadius="30dp">
<TextView
android:layout_
android:layout_
android:layout_gravity="center"
android:text="Some text" />
</androidx.cardview.widget.CardView>
如果我将半透明颜色(#AACC0000)
设置为cardBackgroundColor
,cardView中间会出现奇怪的矩形。
如果我在没有 Alpha 通道 (#CC0000)
的情况下设置颜色,则该矩形将消失。问候
【问题讨论】:
我无法重现该问题,您在真机和模拟器上是否得到相同的结果? 我在真实设备上遇到了这个问题。在 xml 编辑器中未显示此问题 【参考方案1】:添加 alpha 值 android:alpha="0.99"
解决了这个问题。
取 0.99 作为高边 alpha 值
<androidx.cardview.widget.CardView
android:layout_
android:layout_
android:alpha="0.99"
app:cardBackgroundColor="#AACC0000"
app:cardCornerRadius="30dp">
<TextView
android:layout_
android:layout_
android:layout_gravity="center"
android:text="Some text" />
【讨论】:
【参考方案2】:这是因为海拔高度。将cardElevation
设置为0dp
并检查
<androidx.cardview.widget.CardView
android:layout_
android:layout_
app:cardBackgroundColor="#AACC0000"
app:cardCornerRadius="30dp"
app:cardElevation="0dp">
<TextView
android:layout_
android:layout_
android:layout_gravity="center"
android:text="Some text" />
</androidx.cardview.widget.CardView>
【讨论】:
是的,你是对的。但为什么会发生。如果我想在这种情况下使用 cardElevation 怎么办? 我不确定cardview是否可行,你可以试试这个***.com/a/62263221/6478047以上是关于如果我将半透明颜色设置为 cardBackgroundColor,cardView 中间会出现奇怪的矩形形状的主要内容,如果未能解决你的问题,请参考以下文章