如何在android中将RGB转换为HEXADECIMAL颜色?

时间:2013-07-19 06:33:49

标签: java android colors hex argb

如何将ARGB(255 0 255 0)颜色转换为HEXADECIMAL颜色。我在数据库中有ARGB颜色,我使用JSON格式的webservices进行检索。
我想在文本字段中添加颜色TAG_DIFF_P (R.id.l7)

  

这是我的代码,如何在文本字段中添加背景颜色

try {

        JSONObject json1 = jParser.getJSONFromUrl(myUrl);
        // Getting Array of Contacts
        JSONArray list = json1.getJSONArray(TAG_JSONDataResult);


        // looping through All Contacts
        for(int i = 0; i < list.length(); i++){
            JSONObject c = list.getJSONObject(i);


            String GRPNAME = c.getString(TAG_GRPNAME);
            String QTY = c.getString(TAG_QNT);
            String BUDGET = c.getString(TAG_BUDGET);
            String STOCK = c.getString(TAG_STOCK);
            String DIFF = c.getString(TAG_DIFF);
            String DIFF_P = c.getString(TAG_DIFF_P);                
            String COLOR = c.getString(TAG_COLOR);


            // creating new HashMap
            HashMap<String, String> map = new HashMap<String, String>();

            // adding each child node to HashMap key => value

            map.put(TAG_GRPNAME, GRPNAME);
            map.put(TAG_QNT, QTY);
            map.put(TAG_BUDGET, BUDGET);
            map.put(TAG_STOCK, STOCK);
            map.put(TAG_DIFF, DIFF);
            map.put(TAG_DIFF_P, DIFF_P);


            // adding HashList to ArrayList
            contactList.add(map);
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }
    /**
     * Updating parsed JSON data into ListView
     * */
     ListAdapter adapter = new SimpleAdapter(this, contactList,
            R.layout.list_item,
            new String[] {  TAG_GRPNAME, TAG_QNT, TAG_BUDGET, TAG_STOCK, TAG_DIFF, TAG_DIFF_P, },
            new int[] {
                     R.id.l2, R.id.l3, R.id.l4, R.id.l5, R.id.l6, R.id.l7});



            lv2.setAdapter(adapter);



}

2 个答案:

答案 0 :(得分:4)

我认为你的json应该把它作为String。如果是这样你可以尝试这个

String hex = String.format("#%02x%02x%02x", r, g,b);

答案 1 :(得分:0)

在Color class

上查看此文档

http://developer.android.com/reference/android/graphics/Color.html#parseColor(java.lang.String)

Color color = Color.parse("#AARRGGBB");

如果你有十进制的颜色,你可以使用。

String hexValue = Integer.toHexString(255)