0
  1. ViewGroup内の2つの子のインデックスをどのように交換しますか?

  2. setLeft子ビューでどのように使用しますか?クラスのオブジェクトには定義されていないようですView

編集。

#2の答えはsetLeft、API11からのみ利用できるということです。同上setX

4

3 に答える 3

1

すべての子を削除してから、必要な順序で追加できます。私は別の方法を見つけられません。

IMHOは、レイアウトを再編成するための最良の方法は、RelativeLayoutを使用することです。

私がこれを行うとき:

// prepare rules
lpTopLeft = new RelativeLayout.LayoutParams(minDimension/5, minDimension/5);
lpTopLeft.setMargins(minDimension/50, minDimension/50, minDimension/50, minDimension/50);
lpTopLeft.addRule(RelativeLayout.ALIGN_PARENT_TOP);
lpTopLeft.addRule(RelativeLayout.ALIGN_PARENT_LEFT);

そして今、準備された設定を使用します:

// rearrange child
bnReset.setLayoutParams(lpTopLeft);
于 2012-02-11T22:39:41.423 に答える
1

ビューを削除してレイアウトを再膨張させることが唯一の解決策だと思います。たぶん、ViewFlipperを使用してみることができます。それがあなたのケースに適しているかどうかはわかりません。

于 2012-02-11T23:43:14.710 に答える
1

最良の解決策: flexbox-Googleによるレイアウト

FexboxLayoutは、CSSフレキシブルボックスレイアウトモジュールの同様の機能をAndroidにもたらすライブラリプロジェクトです。

その後、設定することができます

layout_order

この属性は、子ビューの順序のレイアウトを変更できます。デフォルトでは、子はレイアウトXMLに表示されるのと同じ順序で表示およびレイアウトされます。指定しない場合、デフォルト値として1が設定されます。

于 2017-08-31T08:25:56.267 に答える