我正在创建一个Android游戏,我尝试使用canvas.drawText()方法来显示我的分数和级别,但它导致了错误。现在我正在尝试使用TextViews来显示它们,我使用的是SurfaceVeiw,我想知道它是否可能,并且它是一种很好的方法。
答案 0 :(得分:3)
你无法将TextView放入SurfaceView。但是,你可以做的是在SurfaceView上添加TextViews。如果你不知道怎么做,请告诉我你是否需要帮助。
// You can use a FrameLayout to hold the surface view
FrameLayout frameLayout = new FrameLayout(this);
frameLayout.addView(surfaceView);
// Then create a layout to hold everything, for example a RelativeLayout
RelativeLayout relativeLayout= new RelativeLayout(this);
relativeLayout.addView(frameLayout);
relativeLayout.addView(textview1);
relativeLayout.addView(textview2);
setContentView(relativeLayout);
添加视图时,使用LayoutParams帮助组织内容可能会有所帮助。将此documentation用于LayoutParams。希望这有帮助!
如果你正在使用XML布局,我会使用RelativeLayout,如上所述,在FrameLayout中包含SurfaceView。将TextView置于FrameLayout之上只需为每个视图配置RelativeLayout参数即可。你似乎对Android很陌生,也许这个guide可以帮助你解决一般的RelativeLayouts和XML布局。