android - 背景图片不显示卡片视图
问题描述
我尝试在相对布局中创建一个小圆形视图。但是当我在卡片视图中设置图像(.jpg)时,图像没有显示。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
<androidx.cardview.widget.CardView
android:id="@+id/View"
android:layout_width="25dp"
android:layout_height="25dp"
android:background="@drawable/background"
app:cardCornerRadius="20dp"
android:layout_margin="2dp"
android:elevation="2dp"
android:layout_centerInParent="true">
</androidx.cardview.widget.CardView>
</RelativeLayout>
解决方案
我假设您想创建一个包含 imageview 的圆形视图。因此,首先,使用 ImageView 而不是 CardView 本身设置您的图像。
<androidx.cardview.widget.CardView
android:id="@+id/View"
android:layout_width="25dp"
android:layout_height="25dp"
app:cardCornerRadius="12.5dp"
android:layout_margin="2dp"
android:elevation="2dp"
android:layout_centerInParent="true">
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/background"/>
</androidx.cardview.widget.CardView>
通常,您的 imageview 图像会与您的 cardview 重叠,因此为避免这种情况,只需在您的活动中以编程方式将您的 imageview clipToOutline设置为 true。
imageView.clipToOutline = true
推荐阅读
- amazon-cloudformation - 使用 Code Pipeline 通过 NestedStack 部署 Cloudformation
- r - 有条件地填充空单元格
- python - 将函数应用于组中的第一个元素,然后重新合并
- ssas - 获取一组所有成员以及在 MDX 中具有成员属性的任何后代
- python - 对一列执行累积总和,但如果总和在 Pandas 中变为负数,则重置为 0
- ruby-on-rails - 试图检查是否有具有特定电子邮件地址的用户。获取:nil:NilClass 的未定义方法“[]”
- tensorflow - 无法使用 keras 为向量构建 CNN - 维度问题
- google-cloud-platform - 如何将包重新路由到 Google 负载平衡
- c++ - 自定义二进制文件在 C++ 中触发故障位
- integration-testing - 如何从 ResourceResolver 检索 SlingHttpServletRequest