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