通过XML定义的我的卡片视图未在Android工作室预览中显示其正确的圆角(它们的子视图正在覆盖)。
虽然在模拟器中渲染后显示正常,但我担心这种“故障”可能是我做错事或忘记某些关键属性的症状。即使它不是更深层问题的症状,任何人都可以提供有关如何解决这种美学错误的任何见解吗?
有人可以权衡这个吗?
<android.support.v7.widget.CardView
android:layout_marginTop="16dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
app:cardCornerRadius="10dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.AppCompatImageView
android:src="@color/red"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</android.support.v7.widget.CardView>
答案 0 :(得分:2)
生成的预览中的问题是CardView
内的内容未被剪裁到CardView
的边界,所以您看到的角落是ImageView
的一角,当您在模拟器/设备上运行时,它实际上被剪裁了。
如果您确实要生成类似于实际的预览,可以尝试使用此解决方法。
使用所需的圆角半径添加一个存根绘图。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="20dp" />
<solid android:color="@android:color/holo_green_light" />
</shape>
然后将其设置为ImageView
命名空间下tools:
的背景。
<ImageView android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@android:color/holo_blue_bright"
tools:src="@drawable/test" />
Android Studio支持tools:
namespace中的各种XML属性,这些属性可启用设计时功能(例如src
的{{1}},以便在预览模式下显示。
答案 1 :(得分:0)
这里圆角通常显示您的代码。我的测试手机是Android 7.1。所以我认为你应该清除手机的缓存并再次安装这个应用程序。或者你应该增加
的价值然后再次测试它。应用程式:cardCornerRadius