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

Tiv*_*vie 6 android drag-and-drop view inflate

我有一个带有"添加"和"删除"按钮的活动.

"添加按钮"会使视图膨胀,"删除按钮"会删除选定的视图.

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

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

+---------------------+     +---------------------+
| +-----------------+ |     | +-----------------+ | 
| |      View 1     | |     | |      View 2     | |  
| +-----------------+ |     | +-----------------+ |
|                     | --> |                     |
| +-----------------+ |     | +-----------------+ |
| |      View 2     | |     | |      View 1     | |
| +-----------------+ |     | +-----------------+ |  
+---------------------+     +---------------------+
Run Code Online (Sandbox Code Playgroud)

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

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

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

Seb*_*oth 10

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

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

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

文档: