我在android studio中制作自定义网格视图,每个单元格都包含图像视图和文本视图,但它在顶部和图像之间以及图像和文本之间提供了额外的空间,请参阅Image。我想摆脱那个额外的空间,但我无法找到解决方案!
以下是项目(单元格)布局的代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:weightSum="5">
<ImageView
android:id="@+id/picture"
style="@style/Pic" />
<TextView
android:id="@+id/label"
style="@style/Text" />
这是我主要布局的XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimary">
<TextView
style="@style/Main_Text"
android:text="@string/Main_Menu"/>
<GridView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/gridView"
android:numColumns="3"
android:horizontalSpacing="10dp"
android:verticalSpacing="10dp"/>
答案 0 :(得分:2)
删除权重并在imageview中添加
android:adjustViewBounds="true"
android:scaleType="fitXY"
如果你想使用权重,那么尝试为imageview和textview添加layoutweight
答案 1 :(得分:0)
尝试实施
android:adjustViewBounds="true"
答案 2 :(得分:0)
从您的代码中删除“android:verticalSpacing =”0dip“或者您可以试试这个,
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mGridView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:cacheColorHint="@android:color/transparent"
android:columnWidth="40dip"
android:horizontalSpacing="0dip"
android:numColumns="auto_fit"
android:scrollbars="none"
android:verticalSpacing="0dip" />