还有其他方法可以放大/缩小
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没有在该库中缩放的方法