当前位置: 首页 > 面试题库 >

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

柳英豪
2023-03-14
问题内容

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

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的所有最新更新。这种形状是我在另一个网站上看到的东西的直接副本,但是由于某种原因,它不想为我工作。

谢谢。


问题答案:

因此,我只是在玩这个,我在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个以上)在Web上查找示例之后,我觉得对于这些类型的XML文档所支持的元素/属性还是一个猜谜游戏。对不起,小蚂蚁。

我希望这可以帮助其他人。



 类似资料:
  • 问题内容: 我正在尝试使Java 2D图形“ hello world”运行起来,并发现它异常困难(即,我正在搜索“ java hello world example”的变体,然后变成空白)。有人能帮我举一个最小的世界范例吗? 编辑 不过,这是一个不错的起点,“ Java教程:执行自定义绘画” 。 问题答案: 要在Swing中绘制矩形,您应该: 首先,永远不要直接在JFrame或其他顶级窗口中绘制。

  • 本文向大家介绍js+html5实现canvas绘制简单矩形的方法,包括了js+html5实现canvas绘制简单矩形的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js+html5实现canvas绘制简单矩形的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的web程序设计有所帮助。

  • 基本上,我有一个矩形位图,并希望创建一个新的正方形尺寸的位图,其中将包含其中的矩形位图。 因此,例如,如果源位图的宽度:100和高度:400,我想要一个宽度:400和高度:400的新位图。然后,绘制以这个新位图为中心的源位图(请参阅附加图像以更好地理解)。 我下面的代码很好地创建了方形位图,但没有将源位图绘制到其中。结果,我留下了一个完全黑色的位图。 这是代码: 知道我哪里做错了吗?

  • 本文向大家介绍iOS 如何使用UIBezierPath创建简单的形状,包括了iOS 如何使用UIBezierPath创建简单的形状的使用技巧和注意事项,需要的朋友参考一下 示例 对于一个简单的圈子: 迅速: 对于一个简单的矩形: 迅速: 对于简单的一行: 迅速: 半圈: 迅速: 对于一个简单的三角形: 迅速:            

  • 本文向大家介绍PHP简单创建日历的方法,包括了PHP简单创建日历的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP简单创建日历的方法。分享给大家供大家参考,具体如下: 运行结果如下图所示: 关于在线显示日期还可参考本站在线工具: 在线万年历日历 网页万年历日历 在线万年历黄历flash版 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数学

  • 问题内容: 我正在像这样扩展JFrame: 但是,屏幕上只画了一个正方形,有人知道为什么吗? 我的广场课也看起来像这样: 问题答案: JFrame的contentPane默认使用BorderLayout。当您向其添加一个Square时,默认情况下会添加BorderLayout.CENTER并覆盖以前添加的所有Square。您将需要阅读所有可用于Swing GUI的布局管理器。 例如,从这里开始:在