Java 如何打开动态创建的布局?
我已经编写了一个布局(即带有工具栏的LinearLayout,下面的代码只是一个示例),我想将其加载到一个新窗口中,就像我启动新的意图一样,正确的方法是什么Java 如何打开动态创建的布局?,java,android,Java,Android,我已经编写了一个布局(即带有工具栏的LinearLayout,下面的代码只是一个示例),我想将其加载到一个新窗口中,就像我启动新的意图一样,正确的方法是什么 protected Void startNewLayout() { LinearLayout myLayout= new LinearLayout(context); Toolbar toolbar = new Toolbar(context); toolbar.setTitle("Page#1");
protected Void startNewLayout() {
LinearLayout myLayout= new LinearLayout(context);
Toolbar toolbar = new Toolbar(context);
toolbar.setTitle("Page#1");
myLayout.addView(toolbar);
TextView text = new TextView(context);
text.setText("Hello World!");
myLayout.addView(text);
//open myLayout
}
您可能想了解一下Android中的概念。例如,它们可以显示为对话框或活动。首先必须创建布局,然后必须创建布局参数。构造函数接受两个参数:宽度和高度。我们将两者都设置为匹配父项。然后,调用setContentView方法。LinearLayout和LayoutParams作为参数传递给它。这意味着LayoutParams中具有布局属性的LinearLayout将成为根元素 您必须再次使用width=wrap\u content和height=wrap\u content属性创建LayoutParams对象。现在,如果将此对象指定给其中一个视图,则此视图的宽度和高度将由其内容定义 在此之后,我们创建一个工具栏,更新其文本,将其设置为以前创建的LayoutParams对象,并使用addView(View child)方法将其添加到LinearLayout。TextView也会发生同样的情况 因此,您的最终代码将如下所示
protected Void startNewLayout() {
LinearLayout myLayout = new LinearLayout(context);
myLayout.setOrientation(LinearLayout.VERTICAL);
// creating LayoutParams
LayoutParams layoutParam = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
// set LinearLayout as a root element of the screen
setContentView(myLayout, layoutParam);
LayoutParams lpView = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
Toolbar toolbar = new Toolbar(context);
toolbar.setTitle("Page#1");
toolbar.setLayoutParams(lpView);
myLayout.addView(toolbar);
TextView text = new TextView(context);
text.setText("Hello World!");
text.setLayoutParams(lpView);
myLayout.addView(text);
}