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

时间:2010-12-30 06:22:28

标签: android drag-and-drop view inflate

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

“添加按钮”会使视图膨胀,“删除按钮”会删除所选的视图。

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

我想让用户可以上下移动每个充气的视图,这样他就可以改变他们在屏幕上显示的顺序(以一种拖拽效果)

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

是否可以指定每个视图膨胀的“位置”? (例如,低于或高于当前选定的视图?)

如果没有,达到预期效果的最佳方法是什么?

(如果你觉得它可能会有帮助,请随时询问任何一段代码)

1 个答案:

答案 0 :(得分:10)

您的视图看起来像垂直LinearLayout。所以我建议你使用类似的东西:

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

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

文档: