缩放饼图

时间:2017-11-20 11:36:44

标签: android pie-chart mpandroidchart

  

还有其他方法可以放大/缩小piechart,这不应该影响   标签(显示在图表之外)和图例。我尝试了以下概念,

我使用库 com.github.PhilJay:MPAndroidChart:v3.0.2 创建了piechart

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >
    <com.github.mikephil.charting.charts.PieChart
        android:id="@+id/piechart"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />
</RelativeLayout>

我添加了ontouchlistener,如下所示,

public class MyScaleGestures implements ScaleGestureDetector.OnScaleGestureListener {
    private View view;
    private ScaleGestureDetector gestureScale;
    private float scaleFactor = 1;
    public MyScaleGestures(Context c,View view){
        gestureScale = new ScaleGestureDetector(c, this);
        this.view=view;
    }
    @Override
    public boolean onScale(ScaleGestureDetector detector) {
    scaleFactor *= detector.getScaleFactor();
    if(scaleFactor<0.01)
        scaleFactor=0.01f;
    view.setScaleX(scaleFactor);
    view.setScaleY(scaleFactor);
    return true;}
    @Override
    public boolean onScaleBegin(ScaleGestureDetector detector) {return true;}
    @Override
    public void onScaleEnd(ScaleGestureDetector detector) {  }
}

我用gesturelistener喜欢,

final ScaleGestureDetector scaleGestureDetector = new ScaleGestureDetector(this, new MyScaleGestures(this,pieChart));
relativelayout.setOnTouchListener(new View.OnTouchListener() {
                        @Override
                        public boolean onTouch(View v, MotionEvent event) {
                           scaleGestureDetector.onTouchEvent(event);
                           return true;
                        }
                    });

但结果是,饼图与标签一起缩放。我需要标签文字大小和图例文字大小为常量。它们不应缩放。我使用了自定义Scale Gesture Listener,因为我在一篇文章中读到 Piechart没有在该库中缩放的方法

0 个答案:

没有答案
相关问题