当第一个按钮阵列太大时,我看不到最后一个按钮(bx),例如大小为12,当大小为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);
}
答案 0 :(得分:0)
为什么按钮不会转换到第二行
因为这不是水平LinearLayout
的工作方式。它横向定位所有孩子。
答案 1 :(得分:0)
因为,您的LinearLayout linLayout
有重力HORIZONTAL
linLayout.setOrientation(LinearLayout.HORIZONTAL);
如果您要在第二行添加最后一个按钮,则必须使用VERTICAL
创建 Root LinearLayout ,然后使用LinearLayout
添加父HORIZONTAL
的其他按钮} gravity并使用Gravity VERTICAL
将此LinearLayout添加到Main Root LinearLayout。
答案 2 :(得分:0)
LinearLayout视图不会换行。因此按钮将超过屏幕的右边缘,因此不可见。
您可能想要探索GridView
[http://developer.android.com/reference/android/widget/GridView.html][1]