0

最初のボタン配列が大きすぎる場合、たとえばサイズが 12 の場合、最後のボタン (bx) が表示されません。サイズが 2 の場合は表示されます。ボタンが 2 行目に遷移しない理由。

protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        LinearLayout linLayout = new LinearLayout(this);
        linLayout.setOrientation(LinearLayout.HORIZONTAL); 
        LayoutParams linLayoutParam = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
        setContentView(linLayout, linLayoutParam);
        int size=20;
        Button[] mButtonsArray = new Button[size];

        LayoutParams Lpx= new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

        for (int i=0; i< size;i++) 
        {
       mButtonsArray[i]= new Button(this);
            mButtonsArray[i].setText(name);
            linLayout.addView(mButtonsArray[i], Lpx);
        }
       Button bx = new Button(this);
       bx.setText("back");
        linLayout.addView(bx, Lpx);
    }
4

3 に答える 3

0

ボタンが 2 行目に遷移しない理由

それは水平がどのように機能するかではないからLinearLayoutです。すべての子を水平に配置します。

于 2013-01-12T15:46:54.223 に答える
0

なぜなら、あなたLinearLayout linLayoutには重力があるからですHORIZONTAL

linLayout.setOrientation(LinearLayout.HORIZONTAL); 

2 行目に最後のボタンを追加する場合は、Root LinearLayoutを作成してから、他のボタンを重力VERTICALで親に追加し、この LinearLayout を Main Root LinearLayout に Gravity で追加する必要があります。LinearLayoutHORIZONTALVERTICAL

于 2013-01-12T15:47:18.897 に答える
0

LinearLayout ビューは折り返されません。そのため、ボタンは画面の右端を越えて表示されなくなります。

GridView を調べることができます

[http://developer.android.com/reference/android/widget/GridView.html][1]
于 2013-01-12T15:48:15.580 に答える