2013-09-29 65 views
0

我想知道,有一个线性布局并使用setContentView函数。在linearlayout里面还有一个微调器。我想要做的是,在/ res/layout文件夹内创建一个新的布局,并将其添加到我使用setContentView设置的布局中。如何在应用程序运行时在linearlayout内添加linearlayout

无论如何,或者我需要以编程方式做到这一点?

编辑: 我想我不知道。

我有两个两个布局(准备好)。我使用setContentView的第一个布局。例如,有一个按钮,如果用户单击该按钮,我想在应用程序运行时添加第一个布局的第二个布局底部。

回答

1

最简单的,你做到这一点与包括在主布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <include layout="@layout/second" /> 

</LinearLayout> 

It's也可以做到这一点编程的XML,但这种方式,我认为它是更清晰。

编辑: 要以编程方式执行此操作,请将此代码放入第一个按钮的侦听器中。

RelativeLayout view = (RelativeLayout) findViewById(R.id.RelativeLayout1); 

Button b = new Button(getApplicationContext()); 
b.setText("Click me too!"); 

view.addView(b); 

而不是创建一个按钮(或任何你想要的),你也可以膨胀预制布局。

LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
View v = inflater.inflate(R.layout.second, null); 

view.addView(v); 
+0

已编辑。简单地说,我想在Java类中包含函数。 –

0

我不认为你可以以编程方式更改res文件夹。您只需以编程方式添加任何布局。

编辑:

使用findViewById获得第二个布局的实例,并使用setVisibility的方法来控制布局的知名度。

+0

编辑。简单地说,我想在Java类中包含函数。 –

相关问题