解决ScrollView与ViewPage滑动冲突的问题
生活随笔
收集整理的這篇文章主要介紹了
解决ScrollView与ViewPage滑动冲突的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
? ?android:orientation="vertical" android:layout_width="match_parent"
? ?android:layout_height="match_parent">
? ? ? ? ? ?<com.blackdog.baiduui.view.MyScrollerView
? ? ? ? ? ? ? ?android:layout_width="match_parent"
? ? ? ? ? ? ? ?android:layout_height="match_parent">
? ? ? ? ? ? ? ?<RelativeLayout
? ? ? ? ? ? ? ? ? ?android:layout_width="match_parent"
? ? ? ? ? ? ? ? ? ?android:layout_height="match_parent"
? ? ? ? ? ? ? ? ? ?>
? ? ? ? ? ? ? ? ? ?<com.blackdog.baiduui.view.MyAdScoll
? ? ? ? ? ? ? ? ? ? ? ?android:id="@+id/myAdScoll"
? ? ? ? ? ? ? ? ? ? ? ?android:layout_width="match_parent"
? ? ? ? ? ? ? ? ? ? ? ?android:layout_height="300dp"/>
? ? ? ? ? ? ? ?</RelativeLayout>
? ? ? ? ? ?</com.blackdog.baiduui.view.MyScrollerView>
</LinearLayout>
時間的分發機制:首先會把觸摸事件傳給最外層的LinearLayout,然后在依次往下傳給MyScrollerView(他是繼承ScrollerView)然后在傳給RelativeLayout然后才傳給ViewPage,所有在傳遞的時候會出現MyScrollerView與Viewpage的滑動沖突。
解決方法:1、自定義一個類繼承與ScrollerView
????????????????2、重寫這個類的onIterceptTouchEvent()方法
????????????????3、在方法中通過判斷手勢是橫向的還是豎直的
????????????????4、如果是橫向的(既是Viewpage的滑動事件),就return false:代表自己本身不處理這個事件,交給下一級處理。
下面是代碼:
==(MotionEvent?ev)?{(ev.getAction()){MotionEvent.:=?ev.getX()=?ev.getY()MotionEvent.:+=?Math.(-ev.getX())+=?Math.(-ev.getY())=?ev.getX()=?ev.getY()(>){}}.onInterceptTouchEvent(ev)}轉載于:https://my.oschina.net/u/2485622/blog/601123
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的解决ScrollView与ViewPage滑动冲突的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 海西数据获评优秀服务器租用服务商奖项
- 下一篇: myeclipse转maven项目