我必须设计一个页面,页面的顶部应该有按钮,textview 等。页面的第二部分有一个视图,可以让一些动画球在点击上部按钮时四处移动。
它是我应该使用的相对布局吗?还是表面视图?
我不知道如何继续..有人可以帮忙吗..?
我必须设计一个页面,页面的顶部应该有按钮,textview 等。页面的第二部分有一个视图,可以让一些动画球在点击上部按钮时四处移动。
它是我应该使用的相对布局吗?还是表面视图?
我不知道如何继续..有人可以帮忙吗..?
最好的办法是用两个子视图定义布局,一个是自实现的SurfaceView
类,另一个是RelativeLayout
or LinearLayout
,以更适合您的需要为准。查看下面的这个小示例,了解如何创建一个RelativeLayout
底部附有 aSurfaceView
且顶部附有 a 的布局。
public void setupContentView() {
RelativeLayout layout = new RelativeLayout(this);
MySurfaceView mySurfaceView = new MySurfaceView(this);
RelativeLayout xmlLayout = (Relativelayout) View.inflate(this,
R.layout.my_xml_file, null);
int xmlId = 0x1234;
xmlLayout.setId(xmlId);
RelativeLayout.LayoutParams xmlParams= new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
xmlParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
xmlParams.addRule(RelativeLayout.CENTER_HORIZONTAL);
RelativeLayout.LayoutParams surfaceViewParams= new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
surfaceViewParams.addRule(RelativeLayout.BELOW, xmlId);
surfaceViewParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
layout.addView(xmlLayout, xmlParams);
layout.addView(mySurfaceView, surfaceViewParams);
setContentView(layout);
}
这会创建一个从名为的 xml 文件扩展的布局my_xml_file
,名称为xmlLayout
. 它还创建了一个自我实现的SurfaceView
类MySurfaceView
,它调用它mySurfaceView
。然后,它将使用该类的参数设置RelativeLayout.LayoutParams
为两种布局。它将mySurfaceView
下面的xmlLayout
和两个高度都设置为,如果 xml 高度 = 0 WRAP_CONTENT
,这将使mySurfaceView
整个屏幕占据整个屏幕,反之亦然。然后,您可以在MySurfaceView
课堂上以通常的方式进行绘制,并且可以根据需要设置 xml 文件。
祝你好运!很想听到任何成功的消息。