如何以编程方式放置或放下视图?

时间:2013-04-14 10:21:37

标签: java android android-framelayout

我有一个基本的“骨架”是

的xml
<RelativeLayout>
    <FrameLayout>
        <RelativeLayout>
            <TextView>
            </TextView>
            <TextView>
            </TextView>
        </RelativeLayout>
        <DrawView>
            //The view that changes 1
        </DrawVIew>
        <EditText>
            //The view that changes 2
        </EditText>
    </FrameLayout>
    <RelativeLayout>
    </RelativeLayout>
</RelativeLayout>

我想要的是使用DrawView向上或向下的代码,所以有时你可以使用DrawView,在其他时刻你可以使用EditText,但是这两个视图都显示出来。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

由于您将两个小部件放在FrameLayout中,您可以改变它的重力,如下所示:

FrameLayout.LayoutParams drawViewLayoutParams = drawView.getLayoutParams();
drawViewLayoutParams.gravity = Gravity.BOTTOM;

FrameLayout.LayoutParams editTextLayoutParams = editText.getLayoutParams();
editTextLayoutParams.gravity = Gravity.TOP;

答案 1 :(得分:0)

执行此操作的唯一方法是删除所有FrameLayout的孩子,并按照您需要的顺序将其重新放回。

或者您可以使用另一个RelativeLayout并更改两个视图的LayoutParams