我想知道,有一个线性布局并将其与 setContentView 函数一起使用。线性布局内部还有一个微调器。我想要做的是,在 /res/layout 文件夹中创建一个新布局并将其添加到我使用 setContentView 设置的布局中。
无论如何,或者我需要以编程方式执行此操作?
编辑: 我想我说不出来。
我有 2 两个布局(准备好)。我将第一个布局与 setContentView 一起使用。例如,有一个按钮,如果用户单击该按钮,我想在应用程序运行时在第一个布局的底部添加第二个布局。
我想知道,有一个线性布局并将其与 setContentView 函数一起使用。线性布局内部还有一个微调器。我想要做的是,在 /res/layout 文件夹中创建一个新布局并将其添加到我使用 setContentView 设置的布局中。
无论如何,或者我需要以编程方式执行此操作?
编辑: 我想我说不出来。
我有 2 两个布局(准备好)。我将第一个布局与 setContentView 一起使用。例如,有一个按钮,如果用户单击该按钮,我想在应用程序运行时在第一个布局的底部添加第二个布局。
最简单的方法是包含在主布局的 xml 中
<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>
也可以以编程方式进行,但我认为这样更清楚。
编辑: 要以编程方式执行此操作,请将此代码放在第一个按钮的侦听器中。
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);
我认为您不能以编程方式更改 res 文件夹。您只需要以编程方式添加任何布局。
编辑:
使用 findViewById 获取第二个布局的实例并使用 setVisibility 方法来控制布局的可见性。