0

我有一个基本“骨架”的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,但是会显示两个视图。

我怎样才能做到这一点?

4

2 回答 2

1

由于您将两个小部件都放在 FrameLayout 中,因此您可以更改其重力,如下所示:

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

FrameLayout.LayoutParams editTextLayoutParams = editText.getLayoutParams();
editTextLayoutParams.gravity = Gravity.TOP;
于 2013-04-14T10:52:36.343 回答
0

做到这一点的唯一方法是删除所有的FrameLayout孩子并将它们按您需要的顺序放回去。

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

于 2013-04-14T11:03:38.100 回答