2011-01-28 149 views
6

我正在參加this教程。正如您在this圖片上看到的,標準灰色邊框將應用於圖庫中的所有元素。我想刪除這個相當醜陋的邊框,或者實際上,將其設置爲1px邊框(或者只是爲了使圖像可以相互區分)。 我試圖消除這一行:更改圖庫中的邊框樣式

imgView.setBackgroundResource(GalItemBg); 

,消除邊界,但隨後的圖像相互交迭時,它仍然不是很漂亮。

那麼,如何更改邊框?我如何讓圖庫元素不相互重疊?

回答

11

我相信你已經發現了這個問題的答案,但是因爲沒有發佈,所以現在有一個!

您可以將每個imgView對象放在RelativeLayout的黑色背景和1填充內。然後返回包含ImageViewRelativeLayout對象,而不是返回ImageView本身。

public View getView(int position, View convertView, ViewGroup parent) 
{ 
    ImageView imgView = new ImageView(m_Context); 
    // do stuff initializing your imgView as before 
    RelativeLayout borderImg = new RelativeLayout(m_Context); 
    borderImg.setPadding(1,1,1,1); 
    borderImg.setBackgroundColor(0xff000000); 
    borderImg.addView(imgView); 
    return borderImg; 
} 

最後,它是非常容易使用畫廊方法setSpacing(int pixels)把每個Gallery物體之間的空間來執行你的Gallery圖像之間的間距。你不會得到他們周圍的黑色邊框,但是Gallery背景將在它們之間和之後可見。

+0

這給了我一個ClassCastException,儘管將它轉換爲View。 – 2011-05-17 16:30:12