如何避免在GridLayout v7中调整TextView大小?

时间:2017-11-23 08:05:08

标签: android textview android-gridlayout

我想使用GridLayout v7创建一个3x3网格。在我的代码中,TextView的单元格会根据其内容自动调整大小。此外,它会影响其他细胞的大小,尽管它们位于2个不同的行上。

这是一个包含2x2网格的示例代码。 TextView位于顶部,跨越2列。每个按钮应占据可用屏幕的一半(1列)。如何修复TextView和其他组件的大小?谢谢!

当然我可以尝试嵌套的LinearLayout,但这不是推荐的做法。

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:grid="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    grid:columnCount="2"
    grid:rowCount="2">

    <TextView
        android:text="How to make this box stop growing while adding some text to it?"
        grid:layout_columnWeight="1"
        grid:layout_rowWeight="1"
        grid:layout_columnSpan="2"
        grid:layout_rowSpan="1"/>

    <Button
        android:text="some button"
        grid:layout_columnWeight="1"
        grid:layout_rowWeight="1"
        grid:layout_columnSpan="1"
        grid:layout_rowSpan="1"/>

    <Button
        android:text="some button"
        grid:layout_columnWeight="1"
        grid:layout_rowWeight="1"
        grid:layout_columnSpan="1"
        grid:layout_rowSpan="1"/>

</android.support.v7.widget.GridLayout>

2 个答案:

答案 0 :(得分:0)

我认为你应该设置layout_height和layout_width。 就像下面一样。

android:layout_width="match_parent"
android:layout_height="match_parent"

android支持一些选项“match_parent”或“wrap_content”。

https://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html

答案 1 :(得分:0)

测试一下:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:grid="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    grid:columnCount="2"
    android:orientation="horizontal">

    <TextView
        android:text="How to make this box stop growing while adding some text to it?"
        grid:layout_columnSpan="2"
        grid:layout_gravity="fill"/>

    <Button
        android:text="some button"/>

    <Button
        android:text="some button"/>

</android.support.v7.widget.GridLayout>