2011-01-06 55 views
0

的顯示區域我已經得到了我已經設置瞭如下一個基本的GridView:Ninepatch背景收縮的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" 
    /> 

一切工作正常,直到我添加ninepatch背景。一旦我添加像這樣的背景圖像:

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

它打破了我的gridview。而不是顯示3-4列(取決於屏幕分辨率和方向),gridview中的所有圖標顯示在左上角的單個列中。此外,每次只顯示兩個,我必須向下滾動才能看到其餘的內容。我懷疑gridview是受到ninpatch中心徽標尺寸的限制,但我不確定。

我的ninepatch在中間有一個小區域,上面有一個標誌,我希望顯示時沒有任何偏斜。剩下的背景是佔用屏幕剩餘部分的小梯度。任何想法是什麼導致這個?

回答

1

聽起來像你有填充定義(在九點左右的行)?嘗試擺脫這些,所以你只有內容區域定義(在頂部和左側的線)

+0

這就是這麼奇怪 - 我有零填充!底部或右側沒有線條,當我選中「顯示內容」複選框時,整個ninpatch會被着色(在右側窗格中),以指示整個圖像爲內容區域。 – JoshC13 2011-01-07 14:05:45

0

我有一個類似的問題。不幸的是我想要在我的情況下使用填充。我發現,gridLayout上方法調用的順序似乎有所作爲。只要我在setBackgroundResource()之後調用setPadding(),一切都很好。