2016-10-08 8 views
0

私は、水平に、等しく重み付けされた親にマッチするビューセットを動的にレイアウトに配置したい場合があります。アイテムを含む動的に配置されたアンドロイドレイアウト

私はビューをスクロール可能にしたくないので、すべてのアイテムが収まりきらない場合は決して発生しません。

ただし、アイテムの数が常にルートレイアウトで均等になるようにする必要がある場合。

各アイテムは、チェックボックスとテキストビューを含むレイアウトになります。

このケースがListViewに適しているかどうか、または固定サイズのアイテムのみを対象としている場合は、親の境界を超えることができるかどうかはわかりません。

これを実行して単一項目のXMLレイアウトを作成し、そのレイアウトのn個の量を親レイアウトに動的に展開する適切な方法はありますか?

答えて

0

いくつかの選択肢があります。

すべてのアイテムが常に収まるようになったら、リストビューを使用してください。これにより、アダプタビューの利点が得られます。

は、リストビューを拡張し、

@Override 
public boolean dispatchTouchEvent(MotionEvent ev){ 
    if(ev.getAction()==MotionEvent.ACTION_MOVE) 
     return true; 
    return super.dispatchTouchEvent(ev); 
} 

を追加することにより、スクロールを無効にする必要がありますまたは、あなただけのLinearLayoutを使用してビューを追加することができれば、あなたも、プログラム的

を使用することができます

android:scrollbars="none" 

してスクロールバーを無効にします

LinearLayout layout = (LinearLayout) findViewById(R.id.layout); 
layout.addView(newView, index); 

しかし、私はたぶんListViewまたはRecyclerViewを使用し、それが正常に動作するようにしてください。これは、非常に小さいデバイスを使用する人のためにあなたをカバーします。

+0

私はリストビューを使用すると、すべての部屋を均等に使い切るように項目を均等に配置しますか? – ScottF

+0

ああ、重み付きの直線レイアウトを使用してください。 layout_widthを0dpに設定し、各アイテムのlayout_weightを1に設定すると、利用可能な幅はアイテム間で均等に共有されます。 –

関連する問題