android:形状angular落设置个别angular落时不起作用

我需要有一个背景左右圆锥底部(但不是左上angular/右上angular),下面是我的XML文件:

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle" android:padding="1dp"> <solid android:color="#FFbdbebd"/> <corners android:bottomLeftRadius="12dip" android:bottomRightRadius="12dip" android:topLeftRadius="0dip" android:topRightRadius="0dip"/> </shape> </item> </layer-list> 

但结果是一个没有任何angular落的圆angular矩形,如果我只使用:

 android:radius="12dip" 

那么所有的angular落都是四舍五入的,我search了一下,

http://code.google.com/p/android/issues/detail?id=9161

但该错误指出:

左/右切换,因为android:bottomRightRadius =“2dp”原来指定左下angular的圆angular。

这可能不是我的问题,我也试过用:

 android:radius="12dip" 

其次是

 android:topLeftRadius="0dip" android:topRightRadius="0dip" 

没有成功。

谁能帮忙? 谢谢!

Solutions Collecting From Web of "android:形状angular落设置个别angular落时不起作用"

这似乎是一个已知的问题。 每个angular落必须> 1,否则不会有angular落圆angular。 根据Android文档可以完成,但它是一种哈克:

注意:每个angular必须(最初)提供大于1的angular半径,否则angular不会变圆。 如果你想要特定的angular落不被舍入,一个解决方法是使用android:radius来设置一个大于1的默认angular半径,然后用你真正想要的值覆盖每一个angular,提供零(“0dp” )你不想>圆angular。

看到这里: http : //developer.android.com/guide/topics/resources/drawable-resource.html#corners-element

改变这个:

  <corners android:bottomRightRadius="12dp" android:bottomLeftRadius="12dp" android:topLeftRadius="0dp" android:topRightRadius="0dp"/> 

对此:

  <corners android:radius="1dp" android:bottomRightRadius="12dp" android:bottomLeftRadius="12dp" android:topLeftRadius="0dp" android:topRightRadius="0dp"/> 

它应该按预期工作。

我发现可能有一个错误,如果你设置个人angular落,如果他们中的任何一个都是0,他们都变成了0,所以最后我把他们中的两个改为1dip,另外两个改为我所需要的,他们是0,所以错误不会影响它,结果看起来不错。

试试这个为我工作。

 <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:padding="10dp"> <solid android:color="#FFFFFF"/> <corners android:bottomRightRadius="30dp" android:bottomLeftRadius="30dp" android:topLeftRadius="30dp" android:topRightRadius="30dp"/> </shape>