0

画面全体に相対的なレイアウトのアクティビティがあります。左上隅にボタンがあります。ボタンをクリックすると、レイアウトを0X座標から100X座標に移動します。私はonclickメソッドでこのようなことを試しました:

            RelativeLayout.LayoutParams param = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
            param.leftMargin = 100;
            meRelativeLayout.setLayoutParams(param);

しかし、これは私の相対的なレイアウト幅を小さくし、左マージンを変更しましたが、レイアウト幅を変更したくない、X座標を変更したいだけです、それを行う方法はありますか?

4

1 に答える 1

1

私にはあなたのコードは完璧に見えますが、問題はFILL_PARENT。使用FILL_PARENTすると、システムはディスプレイに残っているスペース(マージンが少ない)を割り当てます。そのため、レイアウトが小さくなりました。これを試してください。

int width= mActivity.getWindowManager().getDefaultDisplay().getWidth();

RelativeLayout.LayoutParams param = new RelativeLayout.LayoutParams( width, LayoutParams.FILL_PARENT);
            param.leftMargin = 100;
            meRelativeLayout.setLayoutParams(param);
于 2012-05-05T09:41:31.447 に答える