MPAndroidChart項目實戰(六)——自定義1MPAndroidChart滑動沖突解決(搞不定產品設計師就只能搞自己)


本文出自:http://blog.csdn.net/dt235201314/article/details/76576618

一丶效果圖


二丶功能點技術點

1.解決MPAndroidChart的LineChart在ViewPager+Fragment滑動沖突解決

2.技術點Android Touch事件的分發機制的運用

getParent().requestDisallowInterceptTouchEvent(true);

含義:當傳入的參數為true時,表示子組件要自己消費這次事件,告訴父組件不要攔截(搶走)這次的事件。

三丶核心代碼

自定義繼承LineChart的控件,當LineChart在ViewPager+Fragment中時使用

public class LineChartInViewPager extends LineChart {

PointF downPoint = new PointF();

public LineChartInViewPager(Context context) {
super(context);
}

public LineChartInViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}

public LineChartInViewPager(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}

@SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouchEvent(MotionEvent evt) {
switch (evt.getAction()) {
case MotionEvent.ACTION_DOWN:
downPoint.x = evt.getX();
downPoint.y = evt.getY();
break;
case MotionEvent.ACTION_MOVE:
LogUtils.i("getScrollX ", getScrollX() + "" );
if (getScaleX() > 1 && Math.abs(evt.getX() - downPoint.x) > 5) {
getParent().requestDisallowInterceptTouchEvent(true);
}
break;
}
return super.onTouchEvent(evt);
}
}

四丶相關文章鏈接

MPAndroidChart常見設置屬性(一)——應用層 

MPAndroidChart項目實戰(一)——實現對比性柱狀圖 

MPAndroidChart項目實戰(二)——雙平滑曲線(雙折線圖)和MarkView實現 

MPAndroidChart項目實戰(三)——餅狀圖實現和文字重合問題解決 

MPAndroidChart項目實戰(四)——柱狀圖實現及X軸文字不顯示問題和柱狀圖上顯示文字 

MPAndroidChart X軸文字斜着顯示 

MPAndroidChart項目實戰(五)——組合圖實現趨勢圖 

五丶源碼下載

歡迎關注我的博客及微信公眾號,后面會給大家帶來更多相關MPAndroidChart無法解決的仿MPAndroidChart圖標自定義控件

源碼下載記得順便Star哦~

下載鏈接:https://github.com/JinBoy23520/MPAndroidChartDemoByJin



注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com