【问题标题】:How to remove Horizontal spacing between the grid view in android?如何删除android中网格视图之间的水平间距?
【发布时间】:2023-03-27 13:52:02
【问题描述】:
  • 我需要在网格项目之间水平画线。
  • 我实现了,但问题是网格项之间的空间
  • 它不是在项目之间连接而是放置间距

xml 文件中的网格布局:

 <GridView
    android:id="@+id/calendar_home"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/container"
    android:numColumns="7"
    android:stretchMode="columnWidth"
    android:overScrollMode="never"
    android:scrollbars="none" />

GridItem 布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/root_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/black"
android:orientation="vertical">

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="100dp"
    android:layout_centerInParent="true"
    android:gravity="center">

    <de.hdodenhof.circleimageview.CircleImageView
        android:id="@+id/img_exercise"
        android:layout_width="50dp"
        android:layout_height="40dp"
        android:gravity="center"
        android:src="@drawable/black"
        app:civ_border_color="@color/white"
        app:civ_border_width="2dp" />

    <View
        android:id="@+id/view_line"
        android:layout_width="20dp"
        android:layout_height="2dp"
        android:layout_marginTop="20dp"
        android:layout_toRightOf="@+id/img_exercise"
        android:background="@color/white" />

    <TextView
        android:id="@+id/daytext"
        android:layout_width="50dp"
        android:layout_height="30dp"
        android:layout_below="@id/img_exercise"
        android:gravity="center"
        android:textColor="@android:color/black"
        android:textSize="17sp" />

    <ImageView
        android:id="@+id/img_exercise_type_two"
        android:layout_width="30dp"
        android:layout_height="20dp"
        android:layout_below="@id/img_exercise"
        android:gravity="center"
        android:visibility="gone" />
</RelativeLayout>

我的代码如下:

我需要加入这些行.....

【问题讨论】:

    标签: android xml gridview


    【解决方案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:columnWidth="14dp"
            android:numColumns="auto_fit"
            android:verticalSpacing="10dp"
            android:horizontalSpacing="10dp"
            android:stretchMode="columnWidth"
            android:gravity="center"
        />
    

    【讨论】:

    • 在哪里添加android:adjustViewBounds="true"
    • 带文字的图片
    • 然后走第二条路
    • 我会试试这个:)
    【解决方案2】:

    使用:

    android:stretchMode="columnWidth"
    

    在您的 Gridview 中:

    <GridView
        android:id="@+id/calendar_home"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/container"
        android:horizontalSpacing="0dp"  //add this also
        android:numColumns="7"
        android:overScrollMode="never"
        android:scrollbars="none"
        android:stretchMode="columnWidth" />
    

    也用于要连接的线路:

      <View
            android:id="@+id/view_line"
            android:layout_width="match_parent"  //change here
            android:layout_height="2dp"
            android:layout_marginTop="20dp"
            android:layout_toRightOf="@+id/img_exercise"
            android:background="@color/color_black" />
    

    【讨论】:

    • 我会试试这个:)
    • match parent 在视图中有效,但stretch mode = "none" 不起作用,它会使项目消失
    • 好的,然后使用:columnWidth 作为拉伸模式,我已经更新了答案。