我正在尝试扩展一个 RelativeLayout 对象并包含一个嵌入的 SurfaceView 对象,该对象使用我的 /res/drawable 文件夹中的 png 文件作为其背景,但我在 XML 布局编辑器中不断收到错误消息。请参阅以下代码:
public class StopMotionRelativeLayout extends RelativeLayout
{
private Context myContext;
private SurfaceView surfaceView1;
private BitmapFactory.Options myBitmapOptions;
private final android.view.ViewGroup.LayoutParams params =
new LayoutParams(LayoutParams.FILL_PARENT, android.view.ViewGroup.LayoutParams.FILL_PARENT);
public StopMotionRelativeLayout(Context context, AttributeSet attrs) {
super(context, attrs);
myContext = context;
this.setBackgroundColor(Color.GREEN);
//init images
surfaceView1 = new SurfaceView(myContext,attrs);
surfaceView1.setVisibility(View.INVISIBLE);
this.addView(surfaceView1, params);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
myBitmapOptions = new Options();
myBitmapOptions.outWidth = widthMeasureSpec;
myBitmapOptions.outHeight = heightMeasureSpec;
surfaceView1.setBackgroundDrawable(new BitmapDrawable(BitmapFactory.decodeResource(this.myContext.getResources(),
R.drawable.golf1, myBitmapOptions)));
}
}
我收到以下错误:
NotFoundException:在当前配置中找不到可绘制资源匹配值 0x7F020002(解析名称:golf1)。
我现在可能已经看到这种类型的错误,当我尝试通过代码而不是 XML 从资源文件中加载某些内容时,它总是会发生。奇怪的是,这个错误并没有阻止我编译应用程序,并且应用程序在模拟器中运行没有错误。不过,我想重新使用我的布局编辑器...
请帮忙。
更新:这是布局 XML
<?xml version="1.0" encoding="utf-8"?>
<com.games.test.StopMotionRelativeLayout android:id="@+id/RelativeLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
</com.games.test.StopMotionRelativeLayout>