2015-08-18 15 views
5

Yakınlaştırmayı bir barchart öğesinden kaldırmak istiyorum. Kullanıcı çubuk grafik madde ilerlerken MpChart BarItem chart before scroll MpChart BarItem chart after scrollandroid mpchart kütüphanesinden zoom özelliğini nasıl kaldırırım?

y gösterge değeri X ax aşağıda gösterildi X gösterge değerleri veya y gösterge değerleri geçersiz kılar.

İşte

çubuk grafik öğesi için kod:

holder.chart.setTouchEnabled(false); 

ve zum özelliği çıkarılmış ve aynı zamanda mümkün olan tüm dokunmatik etkileşimleri: Ben aşağıdaki satırı eklendi

import ro.charttest.R; 
    import android.content.Context; 
    import android.graphics.Typeface; 
    import android.view.LayoutInflater; 
    import android.view.View; 

    import com.github.mikephil.charting.charts.BarChart; 
    import com.github.mikephil.charting.data.ChartData; 
    import com.github.mikephil.charting.utils.ColorTemplate; 
    import com.github.mikephil.charting.utils.Legend; 
    import com.github.mikephil.charting.utils.XLabels; 
    import com.github.mikephil.charting.utils.Legend.LegendPosition; 
    import com.github.mikephil.charting.utils.XLabels.XLabelPosition; 
    import com.github.mikephil.charting.utils.YLabels; 
    import com.github.mikephil.charting.utils.YLabels.YLabelPosition; 

    public class BarChartItem extends ChartItem { 

private ColorTemplate mCt; 
private Typeface mTf; 

public BarChartItem(ChartData cd, Context c) { 
    super(cd);   
    mCt = new ColorTemplate(); 
    mCt.addDataSetColors(new int[]{ R.color.colorful_1}, c); 
    mCt.addDataSetColors(new int[]{ R.color.greens_2}, c); 
    mTf = Typeface.createFromAsset(c.getAssets(), "tahoma.ttf");   
} 

@Override 
public int getItemType() { 
    return TYPE_BARCHART; 
} 

@Override 
public View getView(int position, View convertView, Context c) { 

    ViewHolder holder = null; 

    if (convertView == null) { 

     holder = new ViewHolder(); 

     convertView = LayoutInflater.from(c).inflate(
       R.layout.list_item_barchart, null); 
     holder.chart = (BarChart) convertView.findViewById(R.id.chart); 

     convertView.setTag(holder); 

    } else { 
     holder = (ViewHolder) convertView.getTag(); 
    } 

    // apply styling 
    // holder.chart.setYLabelCount(10); 
    holder.chart.setColorTemplate(mCt); 
    holder.chart.setBarSpace(30); 
    holder.chart.setStartAtZero(false); 

    holder.chart.setScrollContainer(false); 


    holder.chart.setYLabelTypeface(mTf); 
    holder.chart.setXLabelTypeface(mTf); 
    holder.chart.setValueTypeface(mTf); 
    holder.chart.setDescription(""); 
    holder.chart.setDrawVerticalGrid(false); 
    holder.chart.setDrawYLabels(true); 
    holder.chart.setDrawYValues(true); 
    holder.chart.setDrawGridBackground(false); 

    holder.chart.setMaxVisibleValueCount(10); 
    // sets the number of digits for values inside the chart 
    holder.chart.setValueDigits(0); 

    // disable 3D 
    holder.chart.set3DEnabled(false); 
    // holder.chart.setYLabelCount(10); 
    holder.chart.setAutoFinish(true); 
    // scaling can now only be done on x- and y-axis separately 
    holder.chart.setPinchZoom(true);   

    XLabels xl = holder.chart.getXLabels(); 
    xl.setCenterXLabelText(true); 
    xl.setPosition(XLabelPosition.BOTTOM); 

    // set data 
    holder.chart.setData(mChartData); 

    // do not forget to refresh the chart 
    holder.chart.invalidate(); 

    holder.chart.cancelLongPress(); 

    holder.chart.setYRange(0, 1.5f*holder.chart.getYMax(), false); 

    YLabels yLabels = holder.chart.getYLabels(); 
    yLabels.mDecimals = 0; 
    yLabels.setPosition(YLabelPosition.LEFT); 

    XLabels xLabels = holder.chart.getXLabels(); 
    xLabels.setPosition(XLabelPosition.BOTTOM); 

    Legend l = holder.chart.getLegend(); 
    l.setPosition(LegendPosition.BELOW_CHART_LEFT); 
    l.setOffsetBottom(50f); 
    l.setTypeface(mTf); 

    return convertView; 
} 

private static class ViewHolder { 
    BarChart chart; 
} 

}

cevap

İlgili konular