LinearLayout不会填充屏幕的宽度

时间:2013-03-15 10:24:19

标签: android layout dynamic

我一直在使用StackOverflow上的一些示例来创建动态布局。 我已经取得了一些进展,但现在已经陷入了一个特定的错误。

如何使此代码填充父级的宽度?

    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]);

代码根据需要工作,我缺少的部分是按钮宽度均匀,并在屏幕的整个长度上均匀分布。

1 个答案:

答案 0 :(得分:0)

想出LinearLayout.LayoutParams在它的末尾有一个权重选项。以下是适合屏幕宽度的动态按钮布局系统的最终代码。

    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.FILL_PARENT,
                    ViewGroup.LayoutParams.WRAP_CONTENT, 1.0f));
            launchers[i1].setOnClickListener(this);
            layout[i].addView(launchers[i1]);
        }
        masterLayout.addView(layout[i]);

如果有人想要按下这个按钮,那么有什么方法可以让按钮始终保持正方形...