Pergunta

Eu tenho uma GridView básica que configurei da seguinte forma:

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

Tudo funciona bem até que eu adicione um fundo de nove patos. Depois de adicionar a imagem de fundo como esta:

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

Isso quebra minha Gridview. Em vez de exibir 3-4 colunas (dependendo da resolução da tela e orientação), todos os ícones na tela GridView em uma única coluna no canto superior esquerdo. Além disso, apenas dois de cada vez são exibidos e eu tenho que rolar para baixo para ver o resto. Suspeito que o Gridview esteja sendo vinculado pelas dimensões do logotipo central do Ninpatch, mas não tenho certeza.

Meu Ninepatch tem uma pequena área no meio com um logotipo que eu quero ser exibido sem distorção. O restante do fundo é um pequeno gradiente que ocupa o restante da tela. Alguma idéia do que está causando isso?

Foi útil?

Solução

Parece que você tem preenchimento definido (as linhas na parte inferior e à direita do Ninepatch)? Tente se livrar disso, para que você tenha apenas uma área de conteúdo definida (as linhas na parte superior e à esquerda)

Outras dicas

Eu tive um problema parecido. Infelizmente, eu querer Para usar o preenchimento no meu caso. O que eu descobri é que a ordem do método exige o gridlayout parece fazer a diferença. Desde que eu chamasse o setPadding () após o setbackgroundResource (), tudo está bem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top