我有一个LinearLayout,我动态添加View项目。我需要让新物品的位置低于旧物品。
例如:
MenuLayout = (LinearLayout) MainActivity.findViewById (R.id.MenuLayout);
MenuLayout.addView(newBox); //at the top
MenuLayout.addView(newBox); //lower
MenuLayout.addView(newBox); //At the bottom
答案 0 :(得分:0)
只需在添加它们时将它们添加到集合中即可。然后你可以参考集合中的对象是什么。
private ArrayList<E> collection = new ArrayList<E>();
......
MenuLayout = (LinearLayout) MainActivity.findViewById (R.id.MenuLayout);
MenuLayout.addView(newBox); collection.add(newBox); //index 0 in collection
MenuLayout.addView(newBox); collection.add(newBox); //index 1 in collection
MenuLayout.addView(newBox); collection.add(newBox); //index 2 in collection
答案 1 :(得分:0)
首先,由于这是LinearLayout
,因此您使用的是X轴或Y轴,而不是Z轴。在Android术语中,Z轴朝向用户的眼睛出现在屏幕上。
此外,请不要尝试多次添加相同的小部件newBox
,因为您将崩溃。
除此之外,您还可以使用ViewGroup
和LinearLayout
访问getChildCount()
getChildAt()
的孩子。儿童将根据他们的加入顺序编入索引。