0
我一直在通過StackOverflow上的一堆示例來創建動態佈局。 我已經取得了一些進展,但現在已停滯在一個特定的錯誤。LinearLayout將不會填充屏幕的寬度
如何讓此代碼填充父級的寬度?
LinearLayout masterLayout = (LinearLayout) findViewById(R.id.button_views);
for(int i=0; i<(launchers.length/3+1); i++){
layout[i] = new LinearLayout(getBaseContext());
layout[i].setLayoutParams(new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
layout[i].setWeightSum(3);
for(int i1=0; i1<(3); i1++){
launchers[i1] = new Button(this);
launchers[i1].setText(titles[i1]);
launchers[i1].setLayoutParams(new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
launchers[i1].setOnClickListener(this);
layout[i].addView(launchers[i1]);
}
masterLayout.addView(layout[i]);
代碼工作MOSTLY如所期望的,我缺少的部分是按鈕是偶數寬度,並且在屏幕上的整個長度均勻地間隔開。
這是不是真的我清楚,你想要的按鈕(發射器)均勻分佈還是希望它們具有與其父視圖相同的寬度?如果是這樣,雙重檢查 啓動器[i1] .setLayoutParams(新的LinearLayout.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 應該是然後 發射器[i1] .setLayoutParams(新的LinearLayout.LayoutParams( ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); – QVDev 2013-03-15 10:26:55
感謝您的回覆。結果應該是3個發射器在每行上均勻分佈3行。當我更換髮射器[i1]。 params FILL_PARENT然後我得到一個按鈕在屏幕上延伸的行。不是我想要的結果。 – 2013-03-15 10:38:08
你可以附上圖像,你想要實現什麼以及你現在擁有什麼?我沒有完全得到你想要在這裏實現的目標 – QVDev 2013-03-15 10:58:05