【发布时间】:2012-05-24 19:17:35
【问题描述】:
所以我用画布制作了一个 Surface 视图,所以我可以做一些图形。有什么方法可以在画布上进行 xml 布局,这样我就可以在屏幕上有按钮,或者有什么其他选项可以在画布上制作按钮?
【问题讨论】:
标签: android android-layout surfaceview surfaceholder
所以我用画布制作了一个 Surface 视图,所以我可以做一些图形。有什么方法可以在画布上进行 xml 布局,这样我就可以在屏幕上有按钮,或者有什么其他选项可以在画布上制作按钮?
【问题讨论】:
标签: android android-layout surfaceview surfaceholder
您必须创建一个包含该画布的类。然后在 xml 布局中导入该类。
请参阅此示例:FingerPaint Example。
在上面的示例中,有一个 myView 类,其中包含要在其上绘制的画布。
你需要做的是:
首先在您的 xml 中创建任何布局,如下所示:
<RelativeLayout
android:id="@+id/drawingLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</RelativeLayout>
现在假设 main.xml 是您的主要 xml 布局文件,然后将该类添加到该布局中,如下所示:
setContentView(R.layout.main);
drawingLayout = (RelativeLayout)findViewById(R.id.drawingLayout);
System.out.println("The Layout is: "+drawingLayout);
myView = new MyView(this);
drawingLayout.addView(myView);
希望你明白了。如果没有,请告诉我。
享受。 :))
【讨论】:
是的,是的,您可以在布局上使用按钮视图,但它们将存在于画布之外,但它们也可以覆盖画布。或者你可以直接在表面上渲染你自己的按钮,并通过编写你自己的触摸检测的开销。如果您正在为游戏创建一个小框架(或类似“精灵”的游戏),那么开销就是您已经在做的事情。使这些按钮看起来与 Button 视图完全一样可能有点困难,但这是可能的。
这最终归结为关于更容易或更好实施的设计决策。
【讨论】: