«Распределить вес равномерно» в коде - PullRequest
0 голосов
/ 07 июня 2011

У меня есть одна маленькая проблема ... Вот мой код ... Есть ли способ "равномерно распределить веса" для этих кнопок, что я сделал .. Я попытался button[i].setWidth() .. но когда я поворачиваю свой телефон это выглядит некрасиво .. так есть ли раздавать по ширине кнопки авто?

    ViewGroup row1 = (ViewGroup)findViewById(R.id.TableRow02);
    ViewGroup row2 = (ViewGroup)findViewById(R.id.TableRow04);
    ViewGroup row3 = (ViewGroup)findViewById(R.id.TableRow06);
    ViewGroup row4 = (ViewGroup)findViewById(R.id.TableRow08);
    ViewGroup row5 = (ViewGroup)findViewById(R.id.TableRow10);

    Button button[] = new Button[36];
    for(int i=1;i<36;i++)
    {
        button[i] = new Button(this);

        if(i==32||i==33||i==34||i==35){button[i].setVisibility(-1);}

        button[i].setText("700€");
        button[i].setTextSize(10);
        button[i].setWidth(20);

     // Insert buttons in rows
        if(i<8){row1.addView(button[i]);}
        else if(i<15){row2.addView(button[i]);}
        else if(i<22){row3.addView(button[i]);}
        else if(i<29){row4.addView(button[i]);}
        else if(i<36){row5.addView(button[i]);}
    }

Ответы [ 2 ]

4 голосов
/ 07 июня 2011

Тактически поместите кнопки в LinearLayout и установите android:layout_weight="1" для каждой из них.

Стратегически спроектируйте приличный интерфейс, не включающий ряд из 36 кнопок.

0 голосов
/ 07 июня 2011

Как сказал CommonsWare, вместо настройки ширины следует рассмотреть возможность установки параметра веса кнопок для достижения гибкой компоновки.

Если вы хотите достичь этого программно (т. Е. В коде, а не в макете XML), вы можете использовать метод кнопки setLayoutParams. Я не проверял это, но что-то вроде этого должно работать:

// outside of loop
LayoutParams p = new LinearLayout.LayoutParams(
    LayoutParams.MATCH_PARENT, 
    LayoutParams.MATCH_PARENT, 
    1.0
);

....
// enter loop
....

button[i].setLayoutParams(p);

В этом примере 1.0 представляет вес. Два других параметра представляют layout_width и layout_height параметр.

А если серьезно, я не могу себе представить, что раскладка с 36 кнопками очень удобна для пользователя: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...