尝试以编程方式创建嵌套的多线性布局

时间:2014-06-29 08:27:03

标签: android dynamic nested android-linearlayout

我正在尝试动态创建嵌套的linearlayouts并将其设置为活动布局 setContentView(createLayout());中的oncreate()。 但我在屏幕上什么都没有,但是一个空白屏幕。有人可以帮我指出我是否做错了吗?

   private LinearLayout createLayout() {
    Log.d(TAG,"calling cretaelayout");
    LinearLayout main = new LinearLayout(getApplicationContext());
    main.setOrientation(LinearLayout.VERTICAL);

    int k =0;
    for(int i=0 ;i < MainActivity.height*10;i++) {
        LinearLayout row = new LinearLayout(getApplicationContext());
        row.setOrientation(LinearLayout.HORIZONTAL);
        for(int j=0;j< MainActivity.width*10;j++)
        {
            Log.d(TAG,"creating layout element");
            LinearLayout ll = new LinearLayout(getApplicationContext());
            ll.setBackgroundColor(Color.BLACK);
            ll.setId( k++);
            ll.setOrientation(LinearLayout.VERTICAL);
            ll.setLayoutParams(new     LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT));

            ll.setOnClickListener(myhandler);
            row.addView(ll);
        }
        main.addView(row);
    }

    return main;

}

1 个答案:

答案 0 :(得分:2)

没有任何东西需要空间。 LL内部的LL内有LL,最后一个LL设置为wrap_content。但它里面没有内容,所以它的大小在两个方向都是0。没有尺寸的元素不会出现。尝试将内部最大的LL固定大小,你应该看到一些东西。