我正在使用MPChartlib作为基本的“条形图”(3个条形和0到100之间的值).
应用程序的背景是黑暗的,所以我想将文本设置为白色,但是当我在chart.xml中设置颜色代码为“FFFFFF”的文本时,存储在string.xml中,但文本显示为深蓝色.
//Axe X XAxis x = barchart.getXAxis(); x.setPosition(XAxisPosition.BOTTOM); x.setTextColor(R.color.chart_color); x.setAxisLineColor(R.color.chart_color); // Design barchart.setDragEnabled(false); barchart.setDrawGridBackground(false); barchart.setTouchEnabled(false); barchart.setHighlightEnabled(false); barchart.setMaxVisibleValueCount(101); barchart.setDescription(null); barchart.setGridBackgroundColor(R.color.chart_color); barchart.invalidate(); // refresh //Axe Y barchart.getAxisLeft().setAxisMaxValue(100); barchart.getAxisLeft().setDrawTopYLabelEntry(true); barchart.getAxisLeft().setDrawAxisLine(false); barchart.getAxisLeft().setDrawGridLines(false); barchart.getAxisLeft().setAxisLineColor(R.color.chart_color); barchart.getAxisLeft().setTextColor(R.color.chart_color); barchart.getAxisRight().setAxisMaxValue(100); barchart.getAxisRight().setDrawTopYLabelEntry(true); barchart.getAxisRight().setAxisLineColor(R.color.chart_color); barchart.getAxisRight().setTextColor(R.color.chart_color);
我尝试了很多东西和研究,但找不到问题,lib是不是使用相同类型的颜色代码或什么?
谢谢你的帮助,
亚历克斯
解决方法
您将资源ID传递给库,而不是实际颜色.
使用它来获得颜色:
int color = ContextCompat.getColor(context,R.color.chart_color); LineDataSet dataSet = ...; dataSet.setColor(color);
您也可以在documentation中找到它.