Android中颜色值的坑

mac2024-06-04  38

Color.parseColor()和R.color.colorAccent()的结果值不一样。

@Override public void convert(ViewHolder holder, StockDataInfo stockDataInfo, int position, ArrayList<View> movableViewList) { holder.setText(R.id.text1,stockDataInfo.getStockName()); holder.setText(R.id.text2,stockDataInfo.getPriceLastest()); holder.setText(R.id.text3,stockDataInfo.getPriceOffsetRate()); holder.setText(R.id.text4,stockDataInfo.getPriceHigh()); holder.setText(R.id.text5,stockDataInfo.getPriceLow()); holder.setText(R.id.text6,stockDataInfo.getPriceOpen()); holder.setText(R.id.text7,stockDataInfo.getPricePreClose()); holder.setText(R.id.text8,stockDataInfo.getTradVulumes()); holder.setText(R.id.text9,stockDataInfo.getTotalMarketValue()); //参考源码,修改上涨的股票为红色,下跌的股票为绿色 holder.setTextColor(R.id.text1, Color.parseColor("#ff0000")); Log.e(TAG, "convert: 颜色解析 Color.parseColor(\"#ff0000\")值为: "+ Color.parseColor("#ff0000") ); Log.e(TAG, "convert: 颜色解析 R.color.colorAccent (#ff0000)值为: " + R.color.colorAccent ); holder.setTextColor(R.id.text2, R.color.colorAccent); holder.setTextColor(R.id.text3, Color.parseColor("#ff0000")); holder.setTextColor(R.id.text4, R.color.colorAccent); Log.e(TAG, "convert: 设置颜色中。。。。" ); holder.setTextColor(R.id.text5, R.color.colorAccent); holder.setTextColor(R.id.text6, R.color.colorAccent); holder.setTextColor(R.id.text7, R.color.colorAccent); holder.setTextColor(R.id.text8, R.color.colorAccent); holder.setTextColor(R.id.text9, R.color.colorAccent); }

 在ViewHolder中的代码是:

public ViewHolder setTextColor(int viewId, int textColor) { TextView tv = (TextView)this.getView(viewId); tv.setTextColor(textColor); return this; }

虽然都是Int类型,但是结果不一样

最新回复(0)