Android - Не удается создать простую форму прямоугольника... UnsupportedOperationException?

У меня проблемы с созданием простого скругленного прямоугольника с использованием XML. Каждый раз, когда я пытаюсь добавить элемент "углы" к пользовательской форме, я получаю:

java.lang.UnsupportedOperationException на android.graphics.Path.addRoundRect(Path.java:514) на android.graphics.drawable.GradientDrawable.draw(GradientDrawable.java:314) на android.view.View.draw(View.java:6520) ...

Рез /dawable/rounded_rectangle.xml:

 <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> 
        <solid android:color="#ffffff"/>    

        <stroke android:width="3dp"
                android:color="#ff000000"/>

        <padding android:left="1dp"
                 android:top="1dp"
                 android:right="1dp"
                 android:bottom="1dp"/> 

        <corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp" 
         android:topLeftRadius="7dp" android:topRightRadius="7dp"/> 
    </shape>

простой layout.xml, используя вышеуказанную форму:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent">

<View android:id="@+id/View01" 
    android:background="@drawable/rounded_rectangle" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent">
</View>
</RelativeLayout>

Кстати, я пытаюсь скомпилировать для Android 2.1, и у меня установлены все последние обновления для Eclipse и Android SDK. Эта форма является прямой копией того, что я видел на другом сайте, но по какой-то причине он не хочет работать на меня.

Благодарю.

1 ответ

Решение

Итак, я немного поиграл с этим и изменил пару строк в файле roundnded_rectangle.xml, чтобы он заработал. Увидеть ниже:

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

    <stroke android:width="3dp"
            android:color="#ff000000"/>

    <padding android:left="1dp"
             android:top="1dp"
             android:right="1dp"
             android:bottom="1dp"/> 

    <corners android:radius="30dp"/> 
</shape>

Я только хотел бы, чтобы Google выпустил соответствующий справочный документ для создания форм на основе XML. После нескольких часов (4+) поиска примеров в Интернете, я чувствую, что это все еще игра в догадки о том, какие элементы / атрибуты поддерживаются в этих типах XML-документов. Извините за мини-напыщенную речь.

Я надеюсь, что это помогает кому-то еще.

Другие вопросы по тегам