CompileSdkVersion 26,如果重要的话。我想创建带有圆角和背景颜色的LinearLayout。
我创建了2个LinearLayout,一个带有角,一个带有颜色,但是它们的形状与我的期望不符。
活动代码
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/whitegrey"
android:layout_marginTop="340dp"
android:id="@+id/layout"
android:layout_marginStart="10dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/custom_border"
android:orientation="vertical"
android:padding="6dp"
android:textColor="@color/black">
...
</LinearLayout>
</LinearLayout>
custom_border.xml:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners android:radius="20dp"/>
<padding android:left="8dp" android:right="8dp" android:top="8dp" android:bottom="8dp"/>
<stroke android:width="2dp" android:color="#444444" />
</shape>
实际上,边框是圆形的,后面是带有目标颜色的矩形布局。我只想用目标颜色填充边界内的颜色。 有什么方法可以设置填充颜色,最好是在custom_border.xml中设置?
答案 0 :(得分:0)
从您提供给我们的代码示例中,我似乎没有必要拥有两个LinearLayout。仅需要android:background="@drawable/custom_border"
的版面。
要获得预期的结果,只需将属性<solid android:color="@color/whitegrey" />
添加到您的custom_border.xml
中:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners android:radius="20dp"/>
<padding android:left="8dp" android:right="8dp" android:top="8dp" android:bottom="8dp"/>
<stroke android:width="2dp" android:color="#444444" />
<solid android:color="@color/whitegrey" />
</shape>
希望我能为您提供帮助!