2012-10-18 17 views
2

我在數據庫中有一列,可以是字母RGBMCY,(Red, Green, Blue, Magenta, Cyan, Yellow)的任意組合。它可以是1-6個字符長,任何順序,只要每個字母至多出現一次。像720種可能的不同組合。創建所有可能性會非常耗時,而且還會讓APK變得更加複雜。如何創建可自定義列表適配器以分配給圖像視圖的動畫?

我有一個自定義ListAdapter,它設置數據庫信息中的ListView行。每個列表行都有一個ImageView。對於每種顏色,我還在drawable文件夾中有一個小型程式化點圖像。我需要生成一個圖像6個子圖像,並按給定的順序並排繪製每個給定的點。如何隨時生成圖像並指定給ImageView?是否有可能檢查緩存路徑以查看它是否已生成並返回它或生成映像,將其保存到緩存路徑然後返回它?由於每個用戶傾向於傾向於某些組合,所以緩存會很有效。

回答

1

嘗試覆蓋ListAdapter的getView方法。

listAdapter = new ArrayAdapter<String>(this, R.layout.list_item) { 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      final TextView row = (TextView) super.getView(position, 
        convertView, parent); 

      String[] values = row.getText().toString().split(" "); 
      Integer rowColor = Color.rgb(Integer.parseInt(values[0]), 
        Integer.parseInt(values[1]), 
        Integer.parseInt(values[2])); 

      row.setBackgroundColor(rowColor); 

      return row; 
     } 

    }; 
+0

您可以使用任何邏輯將顏色設置爲6並排佈局視圖,隨機或隨機設置其顏色。 – matthenry87

+0

這只是改變了行的背景顏色。我試圖創建並排繪製1-6個子圖像的合成圖像。每個子圖像是預先繪製的點圖像。 –

相關問題