2015-04-22 16 views
7

Temel "Barchart" için MPChartlib kullanıyorum (3 bar ve 0 ile 100 arasında değerler).MPAndroidChart'da renkler nasıl ayarlanır?

Uygulamanın arka planı karanlıktır, bu yüzden metni beyaza yerleştirmek istiyorum ancak text.xml dosyasında bulunan "FFFFFF" renk kodlu metni ayarlıyorum ancak metin koyu mavi renkte görünür.

`//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); ` 

Ben şeyler ve çok sayıda araştırma çalıştı ama sorunu lib renk kodu falan aynı tür kullanmaz gelmez bulamadı? Yardımlarınız için

sayesinde Alex

cevap

12

Kütüphaneden değil, gerçek renk kaynak id geçen bulunmaktadır. Ayrıca documentation Bu bulabilirsiniz

int color = getResources().getColor(R.color.chart_color); 
    something.setColor(color); 

:

kullanılması, bu renk elde etmek.

+0

@Philipp Jahoda altında çubuklar renk geçişli bağlamı tercih değiştirmek yanı gibi örnek istiyorsanız, MPAndroidChart kullanarak mümkün y ekseni değerine dayalı çubuk renktir seti? –

6

Eğer

ArrayList<BarEntry> entries = new ArrayList<>(); 
     entries.add(new BarEntry(87f, 0)); 
     entries.add(new BarEntry(90f, 1)); 


     ArrayList<String> labels = new ArrayList<>(); 
     labels.add("title 1"); 
     labels.add("title 2); 

     BarDataSet dataSet = new BarDataSet(entries, "# of Calls "); 
     BarData barData = new BarData(labels, dataSet); 
     dataSet.setColors(new int[]{R.color.color1 , R.color.color2} , context); 
     barChart.setData(barData); 
     barChart.animateY(3000 , Easing.EasingOption.EaseOutBack);