如何将视图放在精确的列和行中,并使其填充GridLayout android列

时间:2017-02-12 21:16:36

标签: java android android-custom-view android-gridlayout

我在这里遇到一些关于网格布局的问题。 假设我有一个覆盖整个屏幕的网格布局,它具有固定的行数和列数(例如8/8)。现在假设我要插入2个自定义视图,这些视图仅匹配插入它们的列和行。

图片示例: enter image description here

如果图片不好,我很抱歉:D请记住,列宽和高度固定在设备屏幕上,视图不应该展开,而应填充该列。我确信有可能实现这一目标但不幸的是我到目前为止还没有找到解决方案。非常感谢任何帮助,谢谢!!!!

<GridLayout 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:background="#0099cc"
    tools:context="com.example.luka.gridlayouttest.FullscreenActivity"
    android:columnCount="12"
    android:rowCount="12"
    android:columnOrderPreserved="true"
    android:rowOrderPreserved="true">

    <TextView
        android:text="TextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView5"
        android:layout_row="1"
        android:layout_column="3"/>

    <TextView
        android:text="TextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView6"
        android:layout_row="4"
        android:layout_column="6" />
</GridLayout>

1 个答案:

答案 0 :(得分:1)

你正确地做到了。你还没完成。未定义的视图基本上具有零大小。如果您添加类似

的内容
android:text="row0, col0"
android:layout_row="0"
android:layout_column="0"/>

android:text="row1, col1"
android:layout_row="1"
android:layout_column="1"/>

等,你会看到你的TextView斜向右下方。看来你必须填充网格中的每个视图才能为你提供完整的网格。对于每个视图,您必须给它一个固定的大小(而不是wrap_content)或用某些东西填充(使用android:text="row0, col0")。