2

我在数据库中有一个列,可以是字母的任意组合RGBMCY(Red, Green, Blue, Magenta, Cyan, Yellow). 长度可以是1-6个字符,任意顺序,只要每个字母最多出现1次即可。大约有 720 种可能的不同组合。创造每一种可能性都是非常耗时的,而且还要让 APK 膨胀得更多。

我有一个自定义ListAdapter设置ListView数据库信息中的行。每个列表行都有一个ImageView. drawable对于每种颜色,我在文件夹中也有一个小的风格化点图像。我需要生成一个 6 个子图像宽的图像,以给定的顺序并排绘制每个给定的点。如何即时生成图像并分配给ImageView?是否可以检查缓存路径以查看其是否已生成并返回,或者生成图像,将其保存到缓存路径然后返回?缓存会很好地工作,因为每个用户都倾向于使用某些组合。

4

1 回答 1

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;
        }

    };
于 2012-10-18T07:31:50.680 回答