我想在我的应用中获得以下外观,以尝试将视图分组为更具逻辑性的布局。
我当时正在考虑为矩形创建一个Shape Drawable,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="@android:color/white"/>
<corners android:radius="12px"/>
<stroke android:width="2dip" android:color="#000000"/>
</shape>
但是我不确定如何在视图中放置矩形。我见过的大多数示例都将可绘制对象作为背景放置在单个视图中,而不是上面的多个视图。
我是否需要创建某种“空白”视图,除了容纳矩形外别无其他目的?我该怎么办?
目前所有内容都在约束布局中定义。
答案 0 :(得分:0)
围绕视图创建布局,并将其背景设置为您创建的可绘制对象。
答案 1 :(得分:0)
您必须将其作为背景添加到所有这些视图所在的视图组中。 例如。将此可绘制对象作为背景添加到相对布局中。
答案 2 :(得分:0)
感谢所有评论。以为我会用我实现的方法来更新此方法,尽管其他答案是正确的,但我仍然不太了解要求什么,因此这里有一些附加信息:
在drawable文件夹中创建一个名为“ rectangle.xml”的文件,其内容如下:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="@android:color/white"/>
<corners android:radius="12px"/>
</shape>
然后在要放置矩形的布局文件中,添加了以下视图。我不了解的关键是如何指定矩形的大小/位置。这是通过定义以下约束将其包装在我想要的项目周围来实现的。
<View
android:id="@+id/myRectangleView"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="@id/unit_spinner"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintBottom_toBottomOf="@id/time_label"
android:background="@drawable/rectangle"
android:elevation="2dp"
/>
我苦苦挣扎的其他观点: