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 を使用できる場合もありますが、2 つのビューが常に表示されます。

どうやってやるの?

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 を使用して、2 つのビューの LayoutParams を変更することもできます

于 2013-04-14T11:03:38.100 に答える