Как сделать так, чтобы закруглился только один край прямоугольника? - PullRequest
2 голосов
/ 29 июля 2011

У меня есть следующий код:

<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 ]

1 голос
/ 29 июля 2011

Это была ошибка в эмуляторе Android, спасибо всем, кто ответил. После обновления эмулятора до последней версии все работает без изменений (кроме этот баг , но для него есть обходной путь)

1 голос
/ 29 июля 2011

попробуйте это ...

<?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>
1 голос
/ 29 июля 2011

Просто оставьте один вариант:

<corners 
    android:bottomLeftRadius="8dp"
/>
0 голосов
/ 29 июля 2011

попробуйте с кодом ниже:

<?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>
...