Ninepatch Background уменьшает область отображения GridView - PullRequest
0 голосов
/ 06 января 2011

У меня есть базовый GridView, который я настроил следующим образом:

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

Все работает нормально, пока я не добавлю фон из девяти пятен. Как только я добавлю фоновое изображение, как это:

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

Это нарушает мою сетку. Вместо отображения 3-4 столбцов (в зависимости от разрешения экрана и ориентации) все значки в виде сетки отображаются в виде одного столбца в верхнем левом углу. Кроме того, отображаются только два, и мне нужно прокрутить вниз, чтобы увидеть остальные. Я подозреваю, что вид сетки ограничен размерами центрального логотипа Ninpatch, но я не уверен.

У моего ninepatch есть небольшая область посередине с логотипом, который я хочу отображать без перекосов. Остальная часть фона представляет собой небольшой градиент, занимающий оставшуюся часть экрана. Любые идеи о том, что вызывает это?

Ответы [ 2 ]

1 голос
/ 06 января 2011

Похоже, вы определили отступы (линии внизу и справа от девятого патча)? Попробуйте избавиться от них, чтобы у вас была определена только область содержимого (строки вверху и слева)

0 голосов
/ 15 апреля 2014

У меня была похожая проблема.К сожалению, я хочу использовать заполнение в моем случае.Я обнаружил, что порядок вызовов методов в gridLayout, похоже, имеет значение.Пока я вызывал setPadding () после setBackgroundResource (), все в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...