创建一个只有两个圆边的矩形形状
我可以创建一个矩形,所有边圆角的形状。但是,我想要的是一个矩形形状,只有2个边缘是圆形的。这可能吗?创建一个只有两个圆边的矩形形状
我本质上是一起砍一个ListView,看起来像一个圆边的泡泡。我正在寻找添加一个标题,其中包含两个顶部边缘圆角和两个底部边缘圆角的页脚。
我将android:radius
属性更改为android:topRightRadius
和android:topLeftRadius
绘制一个圆角矩形,然后用相同的颜色在圆角的一个上绘制一个正常的矩形。
我会尝试绘制一个圆角的矩形,然后再添加两个与圆角矩形的圆角半径相同尺寸的矩形,并将它们放在不想四舍五入的角中。
因此,例如,一个半径为15px的圆角矩形和两个常规矩形15x15px,放置在圆角矩形的角部,不应该圆角。
编辑:重新阅读你的问题,你可能会更好地为你的listview的顶部和底部做一个简单的9-patch图像。无需像素化,它们就可以伸展到任何尺寸。然而,这需要您事先创建图像,而使用矩形形状的东西在以后的代码中更容易修改。但是,9补丁的方式不会成为黑客攻击。
...加上:你需要画不仅是九补丁,但不同的覆盖不同的屏幕密度。这使得它比必要的更复杂。我宁愿在代码中做,并根据矩形的大小来调整像素的圆半径。 – Zordid 2013-06-10 14:47:45
我认为最好的(我的你的问题的理解)是创建一个9patch图像,并使用它作为背景 - 可以定义舒展,因为你需要,并在XML级别设置节省一些代码工作
可能您觉得此内容有用。
<?xml version="1.0" encoding="utf-8"?>
<!-- res/drawable/rounded_edittext.xml -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
<solid android:color="#FFFFFF"/>
<corners
android:bottomRightRadius="0dp"
android:bottomLeftRadius="0dp"
android:topLeftRadius="15dp"
android:topRightRadius="15dp"/>
</shape>
形状 – 2014-11-12 17:39:48
中没有填充属性,它将在运行应用程序后看起来很完美。 – 2016-05-06 09:54:19
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
<solid android:color="#FFFFFF"/>
<corners
android:bottomRightRadius="0dp"
android:bottomLeftRadius="0dp"
android:topLeftRadius="15dp"
android:topRightRadius="15dp"/>
</shape>
使用上面的代码
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
<solid android:color="#FFFFFF"/>
<corners
android:bottomRightRadius="0dp"
android:bottomLeftRadius="0dp"
android:topLeftRadius="15dp"
android:topRightRadius="15dp"/>
</shape>
该代码只是工作(因为?)的Android 2.2版本。谈到documentation,代码应该如下所示:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
<solid android:color="#FFFFFF"/>
<corners
android:radius="2dp"
android:bottomRightRadius="0dp"
android:bottomLeftRadius="0dp"
android:topLeftRadius="15dp"
android:topRightRadius="15dp"/>
</shape>
在我的情况下,它没有在xml编辑器中正确显示。运行您的代码以正确查看它。 – 2013-01-22 16:40:31
对我来说,似乎xml编辑器并不尊重不同半径的角落。 – WindRider 2013-03-23 22:00:51
运行应用程序后,它将被视为完美。 – 2016-05-06 09:55:29
运行应用程序后,它将被视为完美。 – 2016-05-06 09:55:35