如何在确定的位置填充视图?

7

我有一个带有“添加”和“删除”按钮的活动。

“添加按钮”会填充一个视图,“删除按钮”会删除所选视图。

当我使用“添加按钮”填充视图时,它会自动绘制在之前填充的任何视图下方。

我想让用户有可能上下移动每个填充的视图,这样他就可以改变它们在屏幕上显示的顺序(类似于拖放效果)。

+---------------------+     +---------------------+
| +-----------------+ |     | +-----------------+ | 
| |      View 1     | |     | |      View 2     | |  
| +-----------------+ |     | +-----------------+ |
|                     | --> |                     |
| +-----------------+ |     | +-----------------+ |
| |      View 2     | |     | |      View 1     | |
| +-----------------+ |     | +-----------------+ |  
+---------------------+     +---------------------+

是否可以指定每个视图被填充的“位置”?(例如,在当前选择的视图下面或上面)

如果不能,实现所需效果的最佳方法是什么?

(如果您认为可能有帮助,请随时要求任何代码片段)

1个回答

11

您的视图看起来像是一个纵向的LinearLayout。所以我建议您使用类似以下的代码:

View v = inflater.inflate(R.layout.XXXX, null);
yourLinearLayout.addView(v, INDEX, new LinearLayout.LayoutParams(...)

使用索引值(需要用某种方式确定)可以控制位置。 LinearLayout 是 ViewGroup 的子类,因此该方法可用。

文档:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接