Gridlayout将子视图相互叠加

时间:2013-05-06 12:27:47

标签: android android-gridlayout

我正在尝试将Dynamic Gridlayout添加到具有textview的父Linearlayout。

这是代码。

public class ActivityMain extends Activity {

LinearLayout.LayoutParams mLayoutParams;
GridLayout.LayoutParams mGridLayoutParams;
Button[] button;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_activity_main);

    ViewGroup parent = (ViewGroup) findViewById(R.id.ll);

    mLayoutParams =new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
    GridLayout gl = new GridLayout(this);
    gl.setLayoutParams(mLayoutParams);
    gl.setOrientation(GridLayout.HORIZONTAL);
    gl.setColumnCount(8);
    gl.setRowCount(1);
    button = new Button[8];
    mGridLayoutParams = new GridLayout.LayoutParams();
    mGridLayoutParams.height=android.widget.GridLayout.LayoutParams.WRAP_CONTENT;

    for(int i=0;i<8;i++)
    {
        button[i] = new Button(this);
        button[i].setLayoutParams(mGridLayoutParams);
        button[i].setText(String.valueOf(i));

        gl.addView(button[i]);
    }
    parent.addView(gl);
}

}

这就是使用

的布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" 
android:gravity="center"
android:id="@+id/ll"
tools:context=".ActivityMain" >

<TextView
    android:id="@+id/text"
    android:layout_width="match_parent"
    android:layout_height="0dip"
    android:gravity="center"
    android:text="New Product Form"
    android:textSize="20sp"
    android:typeface="serif" 
    android:layout_weight="1"/>
</LinearLayout>

由于我的声誉低于10,因此我无法从设备上传图像。 请在此链接中找到我得到的输出 DEVICE IMAGE

任何人都可以解释我在做什么是错的。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

间谍。每个按钮都应该有一个新的GridLayout.LayoutParams。希望得到这个帮助:https://stackoverflow.com/a/31836423/898431