Ich habe alle Arten von Problemen mit Zeilenhöhen in GridView.Setzen Sie Fixed GridView Zeilenhöhe
Ich möchte die Größe der Elemente (Höhe/Breite) in XML festlegen und dann einfach die GridView Autofit so viele von ihnen wie es kann ohne Stretching. Wenn es nicht in das nächste Element passt, sollte es nur um die aktuelle Anzahl von Elementen herum angepasst werden, die es anpassen konnte.
Momentan bekomme ich 2 Spalten (was mir fast feste Größe scheint) und die Reihen werden gestreckt. Könnte jemand bitte helfen, zu erklären, was passiert und wie ich erreichen kann, was ich will?
Gridview:
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/main_grid"
android:numColumns="auto_fit"
android:gravity="center"
android:paddingRight="20dp"
android:paddingLeft="20dp"
android:clipToPadding="true"
android:fitsSystemWindows="true"
android:stretchMode="none"
android:background="@drawable/main_grid_background">
</GridView>
GridItem (Ich will es 320x320 wie ich später ein Hintergrundbild in sie einfügen, die, wenn sie nicht ein perfektes Quadrat ungerade aussieht).
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="320dp"
android:layout_height="320dp"
android:padding="10dp" >
<TextView
android:id="@+id/grid_item_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="@+id/label"
android:layout_marginTop="5dp"
android:textColor="@color/black"
android:textSize="15sp"
android:visibility="invisible"
android:layout_centerInParent="true" >
</TextView>
</RelativeLayout>
Java:
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View gridView;
if (convertView == null) {
gridView = new View(context);
// get layout from mobile.xml
gridView = inflater.inflate(R.layout.main_grid_item, null);
} else {
gridView = (View) convertView;
}
TextView textView = (TextView) gridView
.findViewById(R.id.grid_item_label);
//SET TEXT AND BACKGROUND IMAGE HERE
//gridView.setBackgroundResource(R.drawable.main_grid_item_import);
return gridView;
}
wenn möglich bitte auf den Screenshot von gereckt Reihen –
@MehulJoisar wenden Sie sich an Bilder für Details siehe. – AlexIIP
'android: stretchMode =" spacingWidthUniform "' ist nicht was du wolltest? –