我创建了与此类似的布局:
<RelativeLayout
android:id="@+id/layout_one"
style="@style/layout_one" >
<RelativeLayout
android:id="@+id/layout_two"
style="@style/layout_two" >
<RelativeLayout
android:id="@+id/layout_three"
style="@style/layout_three" >
</RelativeLayout>
</RelativeLayout>
对于布局一,我创建了一个带有矩形形状的自定义drawable,以便角落呈圆角和蓝色背景颜色。
但是对于布局三,我需要设置白色背景颜色,但是如果我做android:background="#FFFFFF"
而不是改变,那么形状和底角也不再是圆角。
我的第一个想法是为layout_three创建自定义drawable,底部有圆角,但它不起作用。要么所有的角都是圆的,要么都没有。
需要在带圆角的图片中创建类似的内容。有什么建议吗?
答案 0 :(得分:1)
我看到,对于布局三,你使用@ style / layout_three,这与@ style / layout_one不同。那么你为什么不去你的样式文件夹并将带有背景白色的项目放在layout_three样式
中看起来应该是这样的:
<style name="layout_three">
<item name="android:background">#FFFFFF</item>
<!-- ... other stuff here... -->
</style>
编辑:对不起,我不太了解你的问题,现在阅读那条评论。
我现在只有一种方法可以帮助您解决这个问题。
在drawable文件夹中创建一个.xml文件,并将其命名为layout_three.xml或其他任何内容。 并使用此代码:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="#FFFFFF" />
<padding
android:bottom="10dp" <!-- you can set padding here
or on your layout layout_three -->
android:left="10dp"
android:right="10dp"
android:top="10dp"
/>
<corners android:radius="2dp" /> <!-- change the radius too -->
</item>
</layer-list>
然后你只使用@ drawable / layout_three而不是@ style / layout_three
EDIT2:如果您只希望将底部圆角化为圆角,您也可以将此代码用于角落
<corners
android:topRightRadius="0dp"
android:topLeftRadius="0dp"
android:bottomLeftRadius="2dp"
android:bottomRightRadius="2dp"/>
答案 1 :(得分:0)
您可以根据需要创建带有圆角底的xml drawable。请尝试以下代码:
<item>
<shape android:shape="rectangle" >
<solid android:color="#FFFFFF" />
<corners android:radius="7dp"
android:topRightRadius="0dp"
android:topLeftRadius="0dp"
android:bottomLeftRadius="7dp"
android:bottomRightRadius="7dp"/>
</shape>
</item>
答案 2 :(得分:0)
我刚刚看到问题是Android版面预览没有显示不同的角半径,所以你必须在设备或模拟器上测试以查看差异。