Frage

Ich habe eine grundlegende Gridview, die ich eingerichtet haben, wie folgt:

<?xml version="1.0" encoding="utf-8"?>
    <GridView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/MainMenuGridview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:numColumns="auto_fit"
        android:verticalSpacing="10dp"
        android:horizontalSpacing="10dp"
        android:columnWidth="90dp"
        android:stretchMode="columnWidth"
        android:gravity="center"
    />

Alles funktioniert gut, bis ich einen ninepatch Hintergrund hinzufügen. Sobald ich das Hintergrundbild wie folgt hinzu:

 <?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/MainMenuGridview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:numColumns="auto_fit"
    android:verticalSpacing="10dp"
    android:horizontalSpacing="10dp"
    android:columnWidth="90dp"
    android:stretchMode="columnWidth"
    android:gravity="center"
    android:background="@drawable/mainbackground"
/>

Es bricht mir das gridview. Stattdessen 3-4 Spalten der Anzeige (in Abhängigkeit von der Bildschirmauflösung und Orientierung) alle Symbole in der Grid Anzeige in einer einzelnen Spalte in der oberen linken Ecke. Darüber hinaus sind nur zwei auf einmal angezeigt und ich muß nach unten scrollen, um den Rest zu sehen. Ich vermute, dass die gridview durch die Abmessungen des ninpatch Zentrum Logo gebunden wird, aber ich bin mir nicht sicher.

Meine ninepatch hat einen kleinen Bereich in der Mitte mit einem Logo, dass ich ohne Schrägstellung angezeigt werden soll. Der Rest des Hintergrunds ist eine kleine Steigung, die den Rest des Bildschirms einnimmt. Alle Ideen, was verursacht das?

War es hilfreich?

Lösung

Sounds wie Sie (die Linien unten und rechts neben der ninepatch) definiert haben Polsterung? Versuche die loszuwerden, so dass Sie nur Content-Bereich (die Linien oben und links) definiert haben

Andere Tipps

Ich hatte ein ähnliches Problem. Leider I wollen padding in meinem Fall verwenden. Was ich fand, ist, dass die Reihenfolge der Methodenaufrufe auf gridlayout scheint einen Unterschied zu machen. Solange ich setPadding () nach setBackgroundResource () aufgerufen, alles ist in Ordnung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top