【发布时间】:2019-09-02 14:57:41
【问题描述】:
这里是代码 sn-p :
<androidx.cardview.widget.CardView
android:id="@+id/new_main_store_image_CV"
android:layout_width="@dimen/_250sdp"
android:layout_height="@dimen/_250sdp"
app:cardElevation="@dimen/_5sdp"
app:cardCornerRadius="@dimen/_15sdp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/new_main_store_label_TV"
app:layout_constraintVertical_bias="0.15">
<androidx.cardview.widget.CardView
android:id="@+id/new_main_store_image_CVCV"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:cardCornerRadius="@dimen/_15sdp"
app:cardElevation="@dimen/_5sdp"
android:padding="@dimen/_5sdp">
<ImageView
android:id="@+id/new_main_store_image_IV"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/_5sdp"
android:scaleType="fitXY"/>
</androidx.cardview.widget.CardView>
</androidx.cardview.widget.CardView>
这是最终结果:
我想要的是嵌套圆角半径的外观,这也会影响 ImageView。我已经为两个卡片视图提供了cornerRadius 属性,但它只对父卡片视图可见,而对于嵌套卡片视图不可见。
【问题讨论】:
-
CardView 内的 CardView 是一个糟糕的设计选择。阅读材料设计指南。你想通过嵌套卡片来实现什么?此外,如果您希望图像具有 CardView 的角,请删除填充。
-
我想要圆角白色边框内的圆角图像
-
为此使用第二个
CardView有点矫枉过正。相反,在ImageView中为图像使用RoundedBitmapDrawable。 -
你可以用这个 RoundedBitmapDrawable
-
我不知道它是否证明了整个答案的合理性。 :-) 这里有如何使用它的例子:How to use RoundedBitmapDrawable.