用于动态添加 View 的 Android 布局占位符

标签 android android-layout

在我的 Android Activity 中,我需要在布局中的特定位置动态(在运行时)添加单个 View 。要添加的 View 是在运行时确定的。例如,布局可能看起来像这样:

<LinearLayout ...>
    <TextView ... />
    <!-- Dynamic item to be added here -->
    <TextView ... />
</LinearLayout>

实现这一目标的最佳方法是什么?

一种解决方案是使用 layout.addView(view, index),但我不希望对索引进行硬编码。

另一种解决方案是使用FrameLayout作为占位符,并在FrameLayout内放置动态 View ,例如:

<LinearLayout ...>
    <TextView ... />
    <FrameLayout android:id="@+id/placeholder" />
    <TextView ... />
</LinearLayout>

然后:

findViewById(R.id.placeholder).addView(view);

但是,这会在层次结构中添加一个不必要的 View 。

推荐的方法是什么?

最佳答案

我认为使用 FrameLayout 作为“在运行时添加” View 的占位符是一个很好的解决方案。

我不会担心额外的“不必要” View 对性能的影响。

关于用于动态添加 View 的 Android 布局占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9975520/

相关文章:

android - 我需要设计带有标题文本和箭头的表格

java - Firebase 身份验证 : getCurrentUser from different Activities?

android - Android上的Python 'invalid syntax'错误

android - 使用 Scala 在 Android 上使用 Google map

android - 如何在 android 上使用 google map api 获取 google driving instruction?

Android - 拖屏导航

android - 如何在Android布局中布局不规则形状

android - 如何制作气球状的 ImageView?

java - 如何将一堆线性布局转换为一个相对布局

Android:在定义的时间后使 View 消失的最佳方法