Android - 无法创建简单的矩形形状... UnsupportedOperationException?

时间:2010-02-22 10:22:21

标签: java android

我在使用XML创建一个简单的圆角矩形时遇到了麻烦。每当我尝试将“corner”元素添加到自定义形状时,我得到:

  

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

RES / 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>

Fyi,我正在尝试为Android 2.1编译,我已经安装了Eclipse和Android SDK的所有最新更新。这个形状是我在另一个网站上看到的东西的直接副本,但出于某种原因,它不想为我工作。

感谢。

1 个答案:

答案 0 :(得分:35)

所以,我只是在玩这个,我在rounded_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文档中支持哪些元素/属性仍然是一个猜谜游戏。对不起迷你咆哮。

我希望这有助于其他人。