在ViewPager中使用PhotoView的異常

在 Android 中 PhotoView 是一個(gè)用于查看圖片的庫,支持多點(diǎn)觸摸來放大縮小圖片,應(yīng)用很廣泛。單獨(dú)使用 PhotoView 時(shí)一般沒什么問題,但是我們經(jīng)常會(huì)有這樣的需求,多張圖片能夠切換瀏覽查看,并且每張圖片都要支持放大縮小,這就需要用到 ViewPager 來實(shí)現(xiàn)了,遺憾的是在某些機(jī)型中,多點(diǎn)觸摸放大縮小時(shí)會(huì)出現(xiàn)這樣的異常:

#10903 java.lang.IllegalArgumentException
pointerIndex out of range
android.view.MotionEvent.nativeGetAxisValue(Native Method)

解決方案如下,自定義一個(gè) ViewPager ,捕獲掉觸摸時(shí)的異常:

public class PhotoViewPager extends ViewPager {

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

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

    @Override
    public boolean onTouchEvent(MotionEvent ev) {
        try {
            return super.onTouchEvent(ev);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        try {
            return super.onInterceptTouchEvent(ev);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return false;
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 感恩 先生出去鍛煉帶回美味的早餐 感恩 父親的一句話引起了我內(nèi)心的不平和,我能覺察到我的不平和,并做了療愈清理...
    徹底解脫閱讀 246評(píng)論 0 1
  • 今天七夕節(jié)啦,大雨嘩嘩下了大半天,喜鵲們都去給牛郎織女搭橋了吧,精心為我們家哥哥準(zhǔn)備的七夕卡片和禮物! ...
    畫畫咩閱讀 283評(píng)論 1 0
  • 兩個(gè)人兩句話兩個(gè)側(cè)臉 你的臉你的眼 使我迷戀 如今你那寒冷語言 兩個(gè)人兩個(gè)方向漸漸疏遠(yuǎn) 你的言語 連抱歉都那么敷衍...
    kissfunk閱讀 240評(píng)論 1 4
  • 迷鹿mirror閱讀 180評(píng)論 0 3

友情鏈接更多精彩內(nèi)容