Android add View 指定 display

在 Android 开发中,我们经常需要动态地向布局中添加 View。有时,我们希望将一个 View 添加到指定的 display(显示屏)上。本文将介绍如何在 Android 中添加 View,并将其显示在指定的 display 上。

准备工作

在开始之前,我们需要创建一个 Android 项目,并在布局文件中定义一个用于显示 View 的容器,比如一个 LinearLayout。

首先,在 activity_main.xml 中添加一个 LinearLayout,如下所示:

<LinearLayout
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"/>

接下来,在 MainActivity 中获取这个 LinearLayout 的引用,如下所示:

LinearLayout container = findViewById(R.id.container);

添加 View 到指定的 display

首先,我们需要创建一个新的 display 对象,并将其设置为我们希望添加 View 的 display。然后,我们可以创建一个 View 对象,并将其添加到我们指定的 display 上。

在 MainActivity 中添加以下代码:

// 获取 WindowManager 对象
WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);

// 创建一个新的 display 对象
Display display = windowManager.getDefaultDisplay();

// 创建一个新的 View 对象
TextView textView = new TextView(this);
textView.setText("Hello, World!");

// 创建一个用于放置 View 的布局参数
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
        ViewGroup.LayoutParams.WRAP_CONTENT,
        ViewGroup.LayoutParams.WRAP_CONTENT
);

// 将 View 添加到指定的 display 上
windowManager.addView(textView, layoutParams);

以上代码中,我们首先获取了 WindowManager 对象,然后使用它来创建一个新的 display 对象。接下来,我们创建了一个 TextView 对象,并设置了其文本内容。然后,我们创建了一个 LinearLayout.LayoutParams 对象,用于指定 View 的宽度和高度。最后,我们使用 addView() 方法将 View 添加到指定的 display 上。

移除 View

有时,我们还需要从 display 中移除 View。在 Android 中,我们可以使用 removeView() 方法来实现。

在 MainActivity 中添加以下代码:

// 移除 View
windowManager.removeView(textView);

以上代码将从 display 中移除之前添加的 TextView。

总结

通过使用 WindowManager 的 addView() 方法,我们可以将一个 View 添加到指定的 display 上,并通过 removeView() 方法从 display 中移除它。这使得我们能够在 Android 中动态地显示和隐藏 View,以及控制它们在不同 display 上的显示位置。

希望本文对你理解如何在 Android 中添加 View 并指定 display 有所帮助。如果你有任何问题或疑惑,请随时在评论区提问。谢谢阅读!