📌  相关文章
📜  从 xml 在 android 中添加动态视图 - Java (1)

📅  最后修改于: 2023-12-03 15:21:54.587000             🧑  作者: Mango

从 XML 在 Android 中添加动态视图 - Java

在 Android 应用程序中,我们可以使用 XML 布局来定义 UI 元素,但有时我们需要在运行时动态地添加视图。本文将介绍如何在 Android 应用程序中使用 Java 代码从 XML 添加动态视图。以下是基本步骤:

步骤
1. 创建 XML 布局文件

首先,我们需要创建一个 XML 布局文件,以便在运行时添加动态视图。在 res/layout 目录下创建一个名为 dynamic_view.xml 的文件,然后添加以下代码:

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

    <TextView
        android:id="@+id/title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Dynamic View"/>

</LinearLayout>

此布局包含一个 LinearLayout,并在其中添加了一个 TextView。

2. 创建 Java 类

接下来,我们需要创建一个 Java 类来加载 XML 布局并添加动态视图。在您的 Android 项目中创建一个名为 DynamicViewActivity 的 Java 类,然后添加以下代码:

public class DynamicViewActivity extends AppCompatActivity {

    private LinearLayout dynamicView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.dynamic_view);

        dynamicView = findViewById(R.id.dynamic_view);

        Button addButton = new Button(this);
        addButton.setText("Add View");
        addButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                TextView textView = new TextView(getApplicationContext());
                textView.setText("Added Text View");
                dynamicView.addView(textView);
            }
        });

        dynamicView.addView(addButton);
    }
}

在该类中,我们首先通过 setContentView() 方法加载 dynamic_view.xml 布局文件。然后,我们使用 findViewById() 方法找到名为 dynamic_view 的 LinearLayout。接下来,我们创建一个 Button 对象并设置文本和点击事件处理。在点击按钮时,我们创建一个新的 TextView 对象并将其添加到 LinearLayout 中。

3. 修改 AndroidManifest.xml 文件

为了使 Android 系统知道我们要执行 DynamicViewActivity 类,我们需要在 AndroidManifest.xml 文件中添加一个 元素。在 元素内部添加以下代码:

<activity
    android:name=".DynamicViewActivity"
    android:label="Dynamic View Example">
</activity>
4. 运行应用程序

现在我们已经完成了所有必要的代码更改,可以尝试运行应用程序。运行后,我们将看到 Dynamic View Activity,其中包含标题和一个按钮。点击“添加视图”按钮后,将会添加一个新的 TextView 到 LinearLayout 中。

结论

通过此教程,您已经学会了如何在 Android 应用程序中使用 Java 代码从 XML 添加动态视图。此示例适用于各种 UI 元素,因此您可以按照类似步骤添加其他视图类型。