0

我有一个 LinearLayout,我动态添加 View items 。我需要让新物品位于低于旧物品的位置。

例如:

MenuLayout = (LinearLayout) MainActivity.findViewById (R.id.MenuLayout);
MenuLayout.addView(newBox); //at the top
MenuLayout.addView(newBox); //lower 
MenuLayout.addView(newBox); //At the bottom
4

2 回答 2

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 
于 2013-01-06T12:50:01.447 回答
0

首先,因为这是 a LinearLayout,所以您使用的是 X 或 Y 轴,而不是 Z 轴。在 Android 术语中,Z 轴从屏幕朝向用户的眼睛伸出。

另外,请不要尝试newBox多次添加相同的小部件,因为您会崩溃。

除此之外,您还可以使用and访问ViewGroup类似的孩子。将根据添加的顺序对子项进行索引。LinearLayoutgetChildCount()getChildAt()

于 2013-01-06T12:51:08.963 回答