亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ViewPager——之PhotoView

發布時間:2020-07-02 15:44:58 來源:網絡 閱讀:1285 作者:釣伯樂 欄目:開發技術

    好久沒更新了,最近在研究圖庫,今天來研究一個功能:圖片預覽時能放縮,并且可以左右滾動預覽多個圖片。

    實現這個功能要注意兩點:

    1、放縮圖片,對單張圖片實現放縮功能,這里實現用多點觸控實現放縮,左右上下滑動對放大的圖片實現預覽,并且能還原到原來尺寸。這里使用photoview這個開源框架控件。  

https://codeload.github.com/chrisbanes/PhotoView/zip/master

    2、viewpager滑動,這里需要繼承viewpager,然后需要對viewpager觸摸事件攔截:

@Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        try {
        	if(((ViewPagerActivity)mCtx).getCurrentPageStatus()){
        		return super.onInterceptTouchEvent(ev);
        	}else{
        		return false;
        	}
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
            return false;
        }
    }

這里需要捕獲異常,否則索引溢出,其次要加個限制在圖片還原到之前尺寸大小就可以實現滑動,不沖突觸摸滑動事件。

    

public boolean getCurrentPageStatus() {
//獲取當前展示view
		PhotoView pv = (PhotoView) mViewPager.findViewById(mCurrentPager);
		if (pv.getScale() == 1.0f) {
			return true;
		} else {
			return false;
		}
	}

	static class SamplePagerAdapter extends PagerAdapter {

		private static int[] sDrawables = { R.drawable.wallpaper,
				R.drawable.wallpaper, R.drawable.wallpaper,
				R.drawable.wallpaper, R.drawable.wallpaper,
				R.drawable.wallpaper };

		@Override
		public int getCount() {
			return sDrawables.length;
		}

		@Override
		public View instantiateItem(ViewGroup container, int position) {
			PhotoView photoView = new PhotoView(container.getContext());
			photoView.setImageResource(sDrawables[position]);
			//給view做標記
			photoView.setId(position);

			// Now just add PhotoView to ViewPager and return it
			container.addView(photoView, LayoutParams.MATCH_PARENT,
					LayoutParams.MATCH_PARENT);

			return photoView;
		}

		@Override
		public void destroyItem(ViewGroup container, int position, Object object) {
			container.removeView((View) object);
		}

		@Override
		public boolean isViewFromObject(View view, Object object) {
			return view == object;
		}

	}

這樣基本就能實現圖庫展示圖片功能。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东乡族自治县| 泸溪县| 大竹县| 新化县| 龙胜| 扬中市| 资溪县| 长汀县| 九龙城区| 泗洪县| 博野县| 兴义市| 宁国市| 莎车县| 井冈山市| 拜泉县| 邵武市| 饶阳县| 田林县| 临安市| 阿鲁科尔沁旗| 安西县| 海晏县| 武定县| 观塘区| 邮箱| 丹凤县| 黄大仙区| 乌兰浩特市| 咸宁市| 洛阳市| 大田县| 莲花县| 吕梁市| 苗栗市| 安西县| 乐清市| 广元市| 富锦市| 南溪县| 房产|