2015-10-27 34 views
-1

我在教程後創建了一個簡單的圖庫。
一切正常,但我無法改變邊框/背景顏色。
也許一個小圖像有助於理解我的問題。 desired colorchanges如何更改Android圖庫的邊框/背景顏色

我得到一個帶深灰色填充背景的縮放圖像。這些矩形以淺灰色鑲邊,我想改變它。

我想:

public View getView(int position, View convertView, ViewGroup parent) { 
    ImageView imageView = new ImageView(mContext);  
    imageView.setImageBitmap(imageBitmaps[position]); 
    imageView.setLayoutParams(new Gallery.LayoutParams(300, 200)); 
    imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); 
    imageView.setBackgroundResource(imageBackground);   
    **imageView.setBackgroundColor(Color.BLUE);** 
    ... 

但這doesn't的工作,因爲深灰色部分漆成藍色了。 任何想法?

編輯:添加一些代碼段和錯誤的結果

使用setBackgroundColor會導致這種result

我創建相冊:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    mGallery = (Gallery)findViewById(R.id.imgGallery);  
    mAdapter = new ImageAdapter(this); 
    mGallery.setAdapter(mAdapter); 

但當

public View getView(int position, View convertView, ViewGroup parent) 

被稱爲 convertView爲空。

回答

0

嘗試是這樣的(我沒有測試雖然):

switch (position) { 
      case 1: 
       imageView.setBackgroundColor(convertView.getContext().getResources().getColor(R.color.blue)); 
       break; 
      case 2: 
       break; 
      //... and so on 
     } 

你可以ALSE試試這個imageView.setBackgroundColor(new ColorDrawable(Color.BLUE));

讓我知道這並沒有幫助你!

編輯:

這種嘗試,讓我知道,如果有什麼變化:,

imageView.setBackgroundColor(Color.parseColor("#FF0000"));

另一種選擇是,而不是實例化ImageView編程,只需建立自己的XML與你ImageView裏面和後來做一個LayoutInflater.from(mContext).inflate(R.layout.your_image_view, parent, false);

+0

似乎沒有工作。我在問題文章中提供了更多細節。也許這有助於... – Thomas

+0

@Thomas我編輯了我的答案 – 4gus71n