我使用Retrofit从api.stackoverflow中检索了一些数据。下面是其中的一些:#FFF,#666,#5A8F53,#1B8FBB.然后我想使用它们的textView.setBackgroundColor属性.所以,我使用Color.parseColor()方法.但是,出现了无法识别颜色的错误.如何解决这个问题?
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater layoutInflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view=layoutInflater.inflate(R.layout.p203customrow,parent,false);
ImageView imageViewP203= (ImageView)view.findViewById(R.id.imageViewP203);
TextView textViewNameP203= (TextView)view.findViewById(R.id.textViewNameP203);
TextView textViewSiteUrlP203= (TextView)view.findViewById(R.id.textViewSiteUrlP203);
P203ApiStyle.P203ItemsObjects p203ItemsObjects= p203ItemsObjectsList.get(position);
Map<String,String> mapStyle=p203ItemsObjects.getStyling();
String backgroundColor= mapStyle.get("tag_background_color");
String foregroundColor= mapStyle.get("tag_foreground_color");
textViewNameP203.setText("Name="+p203ItemsObjects.getName()+" BackgroundColor="+backgroundColor);
//one result--> Name=Webmasters BacgroundColor=#FFF
textViewSiteUrlP203.setText("SiteUrl=" + p203ItemsObjects.getSite_url() + " BackgroundColor=" + foregroundColor);
//one result-->SiteUrl=The url BackgoundColor=#1B8FBB
//when I uncommet to this block that error occurs...
/* textViewNameP203.setBackgroundColor(Color.parseColor(backgroundColor));
textViewSiteUrlP203.setBackgroundColor(Color.parseColor(foregroundColor));*/
Picasso.with(context).load(p203ItemsObjects.getIcon_url()).resize(100, 100).into(imageViewP203);
return view;
}
2条答案
按热度按时间rekjcdws1#
将网页安全色更改为十六进制色
qzwqbdag2#
正如我在评论中提到的,在你的代码中,你使用的是websafe颜色而不是十六进制颜色。
十六进制颜色是使用以下命令指定的:
#RRGGBB
,其中RR
(红色)、GG
(绿色)和BB
(蓝色)十六进制整数指定颜色的组件。所有值都必须介于00
和FF
之间。#0000FF
值呈现为蓝色,因为蓝色组件设置为其最高值(FF),而其他组件设置为最低值(00)。*因此,您必须将网页安全色彩变更为十六进制色彩。请在您的程式码中,将
#FFF
变更为#FFFFFF
,并将#666
变更为#666666
。请检查此处以查看the available colors sorted by name.
并在此处查看the material color codes.