ViewGroup内の2つの子のインデックスをどのように交換しますか?
setLeft
子ビューでどのように使用しますか?クラスのオブジェクトには定義されていないようですView
。
編集。
#2の答えはsetLeft
、API11からのみ利用できるということです。同上setX
。
ViewGroup内の2つの子のインデックスをどのように交換しますか?
setLeft
子ビューでどのように使用しますか?クラスのオブジェクトには定義されていないようですView
。
編集。
#2の答えはsetLeft
、API11からのみ利用できるということです。同上setX
。
すべての子を削除してから、必要な順序で追加できます。私は別の方法を見つけられません。
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);
ビューを削除してレイアウトを再膨張させることが唯一の解決策だと思います。たぶん、ViewFlipperを使用してみることができます。それがあなたのケースに適しているかどうかはわかりません。
最良の解決策: flexbox-Googleによるレイアウト
FexboxLayoutは、CSSフレキシブルボックスレイアウトモジュールの同様の機能をAndroidにもたらすライブラリプロジェクトです。
その後、設定することができます
layout_order
この属性は、子ビューの順序のレイアウトを変更できます。デフォルトでは、子はレイアウトXMLに表示されるのと同じ順序で表示およびレイアウトされます。指定しない場合、デフォルト値として1が設定されます。