1

我正在尝试动态创建这个 XML:

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:columnCount="2"
    android:rowCount="2"
    android:orientation="vertical"    >

    <LinearLayout 
        android:id="@+id/topleft"
        android:layout_width="160dp"
        android:layout_height="200dp"
        android:layout_column="0"
        android:layout_row="0"         
            >

        <ImageView
            android:id="@+id/myimage1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"                      
            android:src="@drawable/tetona"          
              />      

     ></LinearLayout>

      <LinearLayout 
        android:id="@+id/topRigth"
        android:layout_width="160dp"
        android:layout_height="200dp"
        android:layout_column="1"
        android:layout_row="0"  
        >        
        <ImageView
            android:id="@+id/myimage2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"                      
            android:src="@drawable/tetona" />                    
     ></LinearLayout>

      <LinearLayout 
        android:id="@+id/bottomRight"
        android:layout_width="160dp"
        android:layout_height="200dp"
        android:layout_column="1"
        android:layout_row="1"  
        >        
        <ImageView
            android:id="@+id/myimage3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"                      
            android:src="@drawable/tetona" />                    
     ></LinearLayout>

      <LinearLayout 
        android:id="@+id/BottonLeft"
        android:layout_width="160dp"
        android:layout_height="200dp"
        android:layout_column="0"
        android:layout_row="1"  
        >        
        <ImageView
            android:id="@+id/myimage4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"                      
            android:src="@drawable/tetona" />                    
     ></LinearLayout>

</GridLayout>

我可以在循环中创建 LinearLayouts,例如:

GridLayout gridlay = (GridLayout)findViewById(R.id.gridpadre);
gridlay.setColumnCount(2);
gridlay.setRowCount(2);

for (int i=0; i<(gridlay.getRowCount()); ++i){
    for(int j=0; j<gridlay.getColumnCount(); ++j){          

        LinearLayout layout = new LinearLayout(this);   
        layout.setId(id);   
        layout.setLayoutParams(new LinearLayout.LayoutParams(160,200)); 
        gridlay.addView(layout);

但是......我如何设置 LinearLayoutandroid:layout_column="i"android:layout_row="j"动态以便将其放置在相对于网格布局的 i 和 j 位置?可能吗?

谢谢

4

1 回答 1

0

尝试执行以下操作:layout.setOrientation(VERTICAL);然后尝试layout.setHorizontalGravity(j),因为我没有配备任何测试方法的计算机我不确定它是否会工作,但值得一试。

于 2013-06-20T15:36:25.053 回答