我有一个带有“添加”和“删除”按钮的活动。
“添加按钮”会使视图膨胀,“删除按钮”会删除所选的视图。
当我使用“添加按钮”给视图充气时,它会自动绘制在任何以前隐藏的视图下方。
我想让用户可以上下移动每个充气的视图,这样他就可以改变他们在屏幕上显示的顺序(以一种拖拽效果)
+---------------------+ +---------------------+
| +-----------------+ | | +-----------------+ |
| | View 1 | | | | View 2 | |
| +-----------------+ | | +-----------------+ |
| | --> | |
| +-----------------+ | | +-----------------+ |
| | View 2 | | | | View 1 | |
| +-----------------+ | | +-----------------+ |
+---------------------+ +---------------------+
是否可以指定每个视图膨胀的“位置”? (例如,低于或高于当前选定的视图?)
如果没有,达到预期效果的最佳方法是什么?
(如果你觉得它可能会有帮助,请随时询问任何一段代码)
答案 0 :(得分:10)
您的视图看起来像垂直LinearLayout
。所以我建议你使用类似的东西:
View v = inflater.inflate(R.layout.XXXX, null);
yourLinearLayout.addView(v, INDEX, new LinearLayout.LayoutParams(...)
使用INDEX(你需要以某种方式确定)你可以控制位置。 LinearLayout
是ViewGroup的子类,因此该方法可用。
文档:
[带索引的Viewgroup.addView] [2]
[1]:http://developer.android.com/reference/android/view/LayoutInflater.html#inflate(int,android.view.ViewGroup) [2]:http://developer.android.com/reference/android/view/ViewGroup.html#addView(android.view.View,int,android.view.ViewGroup.LayoutParams)