使用XML布局的Android Surface View并向Canvas添加按钮

时间:2012-05-24 19:17:36

标签: android android-layout surfaceview surfaceholder

所以我用画布制作了Surface视图,所以我可以做一些图形。是否有任何方法可以使用画布进行xml布局,所以我可以使用按钮和屏幕上没有的内容,或者是否有其他选项可以在画布上制作按钮?

2 个答案:

答案 0 :(得分:0)

是和是,您可以在布局上使用按钮视图,但它们将存在于画布外部,但它们也可以覆盖画布。或者,您可以直接在表面上渲染自己的按钮,并完成编写自己的触摸检测的开销。如果你正在为游戏创建一个小框架(或类似于“精灵”的游戏),那么开销是你已经在做的事情。使这些按钮看起来与Button视图完全相同可能有点困难,但这是可能的。

这最终归结为一个关于什么更容易或更好实施的设计决策。

答案 1 :(得分:0)

你必须创建一个具有该画布的类。然后在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);

希望你明白这一点。如果没有,请告诉我。

享受。 :))