【问题标题】:android Surface View with XML Layout and add buttons to a Canvas带有 XML 布局的 android Surface View 并将按钮添加到 Canvas
【发布时间】:2012-05-24 19:17:35
【问题描述】:

所以我用画布制作了一个 Surface 视图,所以我可以做一些图形。有什么方法可以在画布上进行 xml 布局,这样我就可以在屏幕上有按钮,或者有什么其他选项可以在画布上制作按钮?

【问题讨论】:

    标签: android android-layout surfaceview surfaceholder


    【解决方案1】:

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

    希望你明白了。如果没有,请告诉我。

    享受。 :))

    【讨论】:

    • 嘿......我试过你的解决方案。但是可以在我的 xml 下方添加画布。我想要它在背景和它上面的按钮..我还必须处理按钮的触摸事件来拖动,,..任何帮助都是 appreicated..
    【解决方案2】:

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

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

    【讨论】:

    • 我现在正在尝试实现自己的按钮,但我认为我会遇到的问题是如果手机从纵向翻转到横向会发生什么,所以我可能需要设置电话到一个方向,但我宁愿不....
    • 考虑一下你是如何解决地表中其他事物的方向问题的,应该会从中得出一个解决方案。
    猜你喜欢
    • 1970-01-01
    • 2013-05-03
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-19
    • 2014-03-30
    • 1970-01-01
    相关资源
    最近更新 更多