【问题标题】:Set layout_column and layout_row in GridLayout programmatically以编程方式在 GridLayout 中设置 layout_column 和 layout_row
【发布时间】:2013-05-14 10:58:52
【问题描述】:

我有一个 GridLayout(不是 GridView),我想在其中添加一些带有特殊行和列 inex 的视图。在 XML 中,我可以设置视图:

<TextView
    android:id="@+id/textView1"
    android:layout_column="2"
    android:layout_row="4"
    android:text="Large Text" />

但是如何以编程方式设置属性layout_columnlayout_row?我想要这样的东西:

GridLayout grid = new GridLayout(getActivity());

grid.setColumn(2);
grid.setRow(4);

grid.addView(new Button(getActivity());

【问题讨论】:

    标签: android android-xml android-gridlayout


    【解决方案1】:

    layout_columnlayout_row 的等效项与所有 layout_... 参数一样,可以作为 LayoutParams 的子类的参数找到。

    在这种情况下它是GridLayout.LayoutParams,我们像这样使用它(对于一个 2x2 网格,在最后一行和最后一列中有一个子视图,在单元格内居中):

    gridLayout.setColumnCount(2);
    gridLayout.setRowCount(2);
    
    gridLayout.addView(subview, new GridLayout.LayoutParams(
                                  GridLayout.spec(1, GridLayout.CENTER),
                                  GridLayout.spec(1, GridLayout.CENTER)));
    

    【讨论】:

    • 我将如何将视图移动到假设为 (0,0)?
    • 不就是GridLayout.spec(0, GridLayout.CENTER)吗?也感谢您坚持一个问题将近一年半!
    猜你喜欢
    • 2017-07-14
    • 2020-07-06
    • 2014-04-22
    • 2012-11-11
    • 2014-10-09
    • 2014-08-30
    • 2016-06-30
    • 2017-04-07
    相关资源
    最近更新 更多