2016-11-13 8 views
1

Ich mache eine benutzerdefinierte Rasteransicht in Android Studio, jede Zelle besteht aus einer Bildansicht und einer Textansicht, aber es gibt einen zusätzlichen Abstand zwischen der Spitze und das Bild, und zwischen dem Bild und dem Text, siehe Image. Ich möchte diesen zusätzlichen Raum loswerden, aber ich kann die Lösung nicht herausfinden! HierSo entfernen Sie zusätzlichen Platz in einer Gridview-Zelle - Android

ist der Code der Artikel (Cell) Layout:

<?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" /> 

Und hier ist der XML-Code für mein Haupt Layout:

<?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

Fügen Sie 'android: adjustViewBounds =" true "' zum ImageView. –

+0

Fügen Sie android: adjustViewBounds = "true" zur ImageView hinzu und setzen Sie scaleType als 'centerCrop'. Es wird zusätzlichen Speicherplatz entfernen – Vicky

Antwort

2

entfernen weightsum und in Ihrem Imageview fügen Sie einfach

android:adjustViewBounds="true" 
android:scaleType="fitXY" 

und wenn Sie weightsum verwenden wollen dann versuchen layoutweight für Imageview und Textview

0

try implemets

android:adjustViewBounds="true" 
0

Remove hinzufügen "android: verticalSpacing =" 0dip“aus Code oder Sie können dies versuchen,

<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" /> 
Verwandte Themen