我想创建一个圆角和填充颜色背景的布局。
这是我的布局:
<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
)指定了一个颜色背景,它会用我的圆角覆盖第一个背景。
关于这样做的任何想法? :/
答案 0 :(得分:94)
您不需要单独的填充项目。事实上,它是无效的。您只需向solid
添加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>
如果您只有一个layer-list
,则也不需要shape
。
答案 1 :(得分:15)
可绘制文件夹中的background.xml。
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF"/>
<stroke android:width="3dp"
android:color="#0FECFF" />
<gradient //specify graident
android:startColor="#ffffffff"
android:endColor="#110000FF"
android:angle="90"/>
<padding android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp"/>
<corners android:bottomRightRadius="7dp"
android:bottomLeftRadius="7dp"
android:topLeftRadius="7dp"
android:topRightRadius="7dp"/>
</shape>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="210dp"
android:orientation="vertical"
android:layout_marginBottom="10dp"
android:background="@drawable/background">