【问题标题】:addView table with linearLayout带有线性布局的 addView 表
【发布时间】:2014-12-04 09:03:36
【问题描述】:

我正在做一个用 java 创建 View 的程序,我想要列出按钮。我不明白发生了什么。

这是代码:

公共类 Snake 扩展 Activity {

LinearLayout layout [] = new LinearLayout[10];
Button boton[][] = new Button [10][10];
LinearLayout snake = (LinearLayout) findViewById(R.id.snake);

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_snake);

    //LayoutParams fillWrap = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
   // LayoutParams wrapWrap = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    for (int i = 0; i < layout.length; i++) {        
        layout [i] = new LinearLayout(this);
        layout[i].setId(i);
        layout[i].setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,  LinearLayout.LayoutParams.WRAP_CONTENT));
        snake.addView(layout[i]);

        for (int j = 0; j < layout.length; j++) {
            boton[i][j] = new Button(this);
            boton[i][j].setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
            if ((i == 5) && (j ==5)) {
                boton[i][j].setBackgroundColor(Color.RED);
            } else {
                boton[i][j].setBackgroundColor(Color.BLUE);                 
            }
            layout[i].addView(boton[i][j]);
        }   
    }
}  

}

谢谢

【问题讨论】:

    标签: java android android-linearlayout


    【解决方案1】:

    你错过了布局方向。另外你需要设置 layoutparams 宽度 LayoutParams.MATCH_PARENT

    layout[i].setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,  LinearLayout.LayoutParams.WRAP_CONTENT));
    layout[i].setOrientation(LinearLayout.HORIZONTAL);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-07
      • 1970-01-01
      • 1970-01-01
      • 2012-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多