だから、私がしたいのは、LinearLayoutのprogramaticallsにボタンを追加することです。私はこのようのLinearLayoutを設定するように、それらが水平ために、ボタンの1行としてapperしたい:Buttonsをプログラムで追加するときに親LinearLayoutのサイズを変更する
<LinearLayout
android:id="@+id/button_frame"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</LinearLayout>
それから私はプログラム的にボタンを追加します。
for (String text: textlist) {
Button cbut = new Button(context);
cbut.setText(text);
cbut.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
cbut.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View arg0) {
Log.d(LOGTAGNAME, "TEST: " + buttonText);
}
});
button_frame.addView(cbut);
button_frame.invalidate();
}
ボタンが拡張されるまで、この作品画面の幅。だから私は、ボタンが画面の幅を拡張する場合、水平スクロールバーがあることを起こりたいです。代わりに、LinearLayout内のボタンの「改行」があります。
私はリストビューの周りのスクロールビューを含むさまざまな設定を試みましたが、私はスクロールバーを見たことはありません。
私の問題は、LinearLayoutが正しくサイズ変更されていないことです。ビューが追加されるたびにLinearLayoutの幅を再計算するにはどうすればよいですか? invalidate()は全く効果がありません。
ありがとうございました。
こんにちは、ありがとうございます。それは私がする必要があるすべてでした。スクロールビューの代わりにhorizontalscrollviewを使用する。今それは動作します! – homtg