所以我想要做的是將按鈕添加到LinearLayout programaticalls,這工作正常。我希望他們能夠衝擊片雷管,按鈕的一條線在水平順序,所以我設置的LinearLayout是這樣的:當以編程方式添加按鈕時調整父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中的按鈕可能會出現「換行符」。
我試過不同的設置,包括listview周圍的滾動視圖,但我從來沒有看到一個滾動條。
所以也許我的問題是LinearLayout不能正確調整大小?每次添加視圖後,我必須做什麼才能使LinearLayout重新計算寬度? invalidate()根本沒有效果。
感謝您的任何幫助。
嗨,非常感謝。這就是我需要做的。使用horizontalscrollview而不是滾動視圖。現在它工作! – homtg 2012-01-10 14:36:27