由于某些原因,我的Android项目编译正常,在手机和模拟器上运行良好,甚至包括多个XML布局文件,包括LinearLayouts,TextViews,Buttons,Images,甚至自定义View组件,但是当涉及到形状时它只是简单无法找到它们。
继承我的代码:
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<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>
我在eclipse的图形布局中得到的错误:
com.android.layoutlib.bridge.MockView cannot be cast to android.view.ViewGroup
Exception details are logged in Window > Show View > Error Log
The following classes could not be found:
- shape (Fix Build Path, Edit XML)
- solid (Fix Build Path, Edit XML)
我的目标是Android 2.2 Froyo Google API。
建议?
答案 0 :(得分:10)
您可能会收到错误,因为您将此XML放在了错误的位置。上面的XML应该放在res/drawable
目录中。你真的不应该在布局中画一个正方形。在视图中绘制一个正方形并将其添加到布局中。或者使用图像并通过ImageView将其添加到视图中。布局是视图的聚合。如果你真的想在Layout(ViewGroup)中绘制一个Square,你可以扩展一个并在onDraw()方法中绘制它。但这可能比需要的更复杂。请查看布局上的Android文档:http://developer.android.com/guide/topics/ui/index.html