【问题标题】:Gridview : How to fill entire space with text viewGridview:如何用文本视图填充整个空间
【发布时间】:2011-08-13 08:01:01
【问题描述】:

我正在使用GridView(6 行 * 8 列)创建日历。该矩阵 (6*8) 中的每个单元格都是 TextView(我在程序中动态创建的)。

我面临的问题是,6*8 矩阵没有填满 GridView 可用的整个空间

我想让 6*8 矩阵占据GridView 中的整个空间,而不是在矩阵和下一个TextView 中留下一些空白空间。有人可以帮我解决这个问题吗?

下面给出的是Gridview的xml布局

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1" >

    <GridView xmlns:android="http://schemas.android.com/apk/res/android" 
        android:id="@+id/gridview"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        android:numColumns="8"
        android:verticalSpacing="10dp"
        android:horizontalSpacing="10dp"
        android:gravity="center"
        android:layout_weight="1"
            />


    <TextView  
            android:id="@+id/id_worked"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="Result 1 ->"
        android:layout_weight="0"
        android:textSize="20sp"
        />
</LinearLayout>

【问题讨论】:

    标签: android layout gridview


    【解决方案1】:

    删除

        android:verticalSpacing="10dp"
        android:horizontalSpacing="10dp"
    

    来自 GridView 元素。那应该减少间距。

    编辑:使用 LinearLayout 你可以做到这一点。

    <LinearLayout android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:layout_weight="1"
    android:weightSum="6">
        <LinearLayout android:layout_width="fill_parent"
             android:layout_height="fill_parent" android:layout_weight="1">items here</LinearLayout>
        <LinearLayout android:layout_width="fill_parent"
             android:layout_height="fill_parent" android:layout_weight="1">items here</LinearLayout>
        <LinearLayout android:layout_width="fill_parent"
             android:layout_height="fill_parent" android:layout_weight="1">items here</LinearLayout>
        <LinearLayout android:layout_width="fill_parent"
             android:layout_height="fill_parent" android:layout_weight="1">items here</LinearLayout>
        <LinearLayout android:layout_width="fill_parent"
             android:layout_height="fill_parent" android:layout_weight="1">items here</LinearLayout>
        <LinearLayout android:layout_width="fill_parent"
             android:layout_height="fill_parent" android:layout_weight="1">items here</LinearLayout>
    </LinearLayout>
    

    【讨论】:

    • 嗨,我相信你误解了这个问题。我不关心gridview中每个单元格的空间b/w。我只想要gridview和textView(布局文件中id为'@+id/id_worked'的textview)没有空间。抱歉,我无法附加快照,因为我仍然无权在堆栈溢出中添加 JPEG
    • 只需将gridview的高度设置为wrap_content,textview的layout_weight设置为1即可。去掉gridview的权重。
    • 嗨,这对我也没有帮助。现在我有权添加 JPEG,我已经添加了快照。请看一下。我不希望文本视图(在快照中显示为“结果 1 ->”)的权重为 1。我想要的是 Gridview 中的 6 行扩展以填充空白空间。希望有一个解决方案。之间我还想知道 GridView 是否是日历类型应用程序的正确候选者(它具有预定义的行集而不是未知的行数)。有什么建议吗?
    • 你可以保持简单。由于行数和列数不会改变,您可以简单地使用 LinearLayouts 创建布局。
    猜你喜欢
    • 1970-01-01
    • 2014-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-04
    • 1970-01-01
    • 2020-04-20
    • 1970-01-01
    相关资源
    最近更新 更多