如何仅对矩形的一个边缘进行舍入?

时间:2011-07-29 12:06:47

标签: android layout android-layout

我有以下代码:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
       <stroke android:color="@color/conversation_border" android:width="1dp"/>
       <solid android:color="@color/conversation_is_user_bg"/>
            <corners android:radius="1dp" />
            <padding android:left="7dp" android:top="1dp" android:right="1dp" android:bottom="7dp"/>  
</shape>

当我将它应用于TextView时,一切正常。 但当我替换

<corners android:radius="1dp" />

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

我有一个异常。 我已经尝试过不删除android:radius属性,在px和dp中提供半径,结果总是

error!
UnsupportedOperationException: null

这是非常具有描述性的。 我做错了什么以及如何只绕文本视图的左下角?

4 个答案:

答案 0 :(得分:1)

只留下一个选项:

<corners 
    android:bottomLeftRadius="8dp"
/>

答案 1 :(得分:1)

尝试这个...

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/corners_blue_random">
    <solid android:color="@color/conversation_is_user_bg" />
    <corners android:radius="1dip" android:bottomLeftRadius="8dip"
        android:topLeftRadius="1dip" android:bottomRightRadius="1dip"
        android:topRightRadius="1dip" />
    <stroke android:color="@color/conversation_border"
        android:width="1dp" />
</shape>

答案 2 :(得分:1)

这是Android模拟器中的一个错误,感谢所有回答的人。 将模拟器更新到最新版本之后,所有工作都没有修改(exept this bug,但是它有解决方法)

答案 3 :(得分:0)

尝试使用以下代码:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <corners android:bottomLeftRadius="8dip"
        android:topLeftRadius="1dip" android:bottomRightRadius="1dip"
        android:topRightRadius="1dip" />

</shape>