我正在使用网格视图。它在某些设备中显示问题。网格视图的一个项目的高度看起来比其他项目短。
在某些设备中看起来像这样,有些设备看起来很好。
布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:background="@android:color/white"
android:layout_height="match_parent">
</RelativeLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.admin.fueloneApp.MainDriver"
tools:showIn="@layout/app_bar_main"
android:weightSum="8">
<TextView
android:id="@+id/main_welcome"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/dimen_20dp"
android:text="@string/welcome"
android:textColor="@color/colorPrimary"
android:textStyle="bold" />
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridviewMain"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="@dimen/dimen_40dp"
android:layout_marginLeft="@dimen/dimen_40dp"
android:layout_marginRight="@dimen/dimen_40dp"
android:columnWidth="80dp"
android:horizontalSpacing="@dimen/dimen_10dp"
android:numColumns="2"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp"></GridView>
</LinearLayout>
</ScrollView>
<TextView
android:id="@+id/textView20"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_centerInParent="false"
android:text="For Any Queries Related To Mobile App Click On Service Request"
android:textAlignment="center" />
</RelativeLayout>
项目布局
编辑:添加了网格视图的项目布局。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/single_grid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimary1"
android:orientation="vertical">
<ImageView
android:id="@+id/gris_img"
android:layout_gravity="center"
android:layout_width="80dp"
android:scaleType="fitXY"
android:layout_height="100dp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/grid_cat"
android:textSize="15sp"
android:textColor="@color/divider_color"
android:gravity="center"/>
</LinearLayout>
如何管理每件商品的高度?这是什么解决方案?请帮忙。谢谢......
答案 0 :(得分:0)
Gridview倾向于使用最高元素调整所有元素的高度。因此,您正在看到这种行为。您可以使用StaggeredGridView。
答案 1 :(得分:0)
我认为您的网格布局单元格高度为 wrap_content 。这个问题同样发生在我身上。将您的布局高度 wrap_content 更改为 match_parent 。
android:layout_height="match_parent"
要获得更好的解决方案,请在此处更新网格视图项布局单元格。
答案 2 :(得分:0)
添加Textview属性:
android:maxLines="1"
android:singleLine="true"
如果文字不可见单行,则需要将textview更改为autosizing-textview