我想创建一个带有圆角和填充色背景的布局。
这是我的布局:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="210dp"
android:orientation="vertical"
android:layout_marginBottom="10dp"
android:background="@drawable/offerItemLayout">
<LinearLayout
android:id="@+id/offerImageHolder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
.
.
.
</LinearLayout>
</LinearLayout>
我有以下可正确创建边框的可绘制 xml (offerItemLayout
):
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:radius="5dp"/>
<stroke
android:width="1dp"
android:color="@color/bggrey" />
</shape>
</item>
// The lines below causes an inflation failure.
<item>
<fill
android:color="@color/white"/>
</item>
</layer-list>
但是插入带有填充的项目会导致布局膨胀失败。
此外,如果我为我的内部 LinearLayout (offerImageHolder
) 分配一个颜色背景,它会用我的圆角覆盖第一个背景。
对正确执行此操作有任何想法吗? :/
最佳答案
您不需要单独的填充项。事实上,它是无效的。您只需将 solid
block 添加到 shape
。随后的 stroke
绘制在 solid
之上:
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="5dp" />
<solid android:color="@android:color/white" />
<stroke
android:width="1dip"
android:color="@color/bggrey" />
</shape>
如果你只有一个 shape
,你也不需要 layer-list
。
关于android - 向布局添加颜色背景和边框半径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15529372/