我已經創建了我的自定義視圖,我想適用於我的自定義視圖捏縮放。怎麼做?捏縮放自定義視圖
Q
捏縮放自定義視圖
43
A
回答
79
本文在Android開發者博客涵蓋了這個主題非常好(向下滾動到節上GestureDetectors):
如果你只是想實現捏到變焦,有隻有幾行代碼,你將需要:
private ScaleGestureDetector mScaleDetector;
private float mScaleFactor = 1.f;
public MyCustomView(Context mContext){
//...
//Your view code
//...
mScaleDetector = new ScaleGestureDetector(context, new ScaleListener());
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
// Let the ScaleGestureDetector inspect all events.
mScaleDetector.onTouchEvent(ev);
return true;
}
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.save();
canvas.scale(mScaleFactor, mScaleFactor);
//...
//Your onDraw() code
//...
canvas.restore();
}
private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener {
@Override
public boolean onScale(ScaleGestureDetector detector) {
mScaleFactor *= detector.getScaleFactor();
// Don't let the object get too small or too large.
mScaleFactor = Math.max(0.1f, Math.min(mScaleFactor, 5.0f));
invalidate();
return true;
}
}
與處理其他的手勢,但不是使用其實施本條所處理其餘部分,可以使用GestureDetector就像在上面的代碼中使用ScaleGestureDetector一樣。
7
把你的看法放進ZoomView
。
定製視圖在這裏可用https://github.com/Polidea/android-zoom-view它很容易,免費,很有趣!
-2
+0
Photoview僅適用於ImageView,但沒有獲得由另一個類擴展的View。請如何使用CustomView。? – 2018-02-27 10:30:56
相關問題
- 1. Android:自定義視圖縮放/捏
- 2. 捏縮放文本視圖
- 3. 安卓:自定義視圖縮放/捏顯示縮放我實現了使用方法變焦/捏指標
- 4. 捏放大和縮小表視圖
- 5. NSCollectionView捏縮放
- 6. iphone捏縮放
- 7. 如何在自定義相機中實現「捏縮放」
- 8. 捏縮放 - 不能保持圖像位置固定在縮放
- 9. 在自定義圖像視圖中縮放圖像
- 10. 捏縮放ListView Android
- 11. 捏縮放相機
- 12. 捏與CSS3縮放
- 13. Xamarin.forms捏和縮放
- 14. 捏和縮放imageview
- 15. 捏縮放android 2.1
- 16. 捏與Hammer.js縮放
- 17. 捏縮放與GLSurfaceView
- 18. 捏縮放textview android
- 19. 捏與Osmdroid縮放
- 20. 捏縮放,TextView的
- 21. 捏放大圖像和縮小圖像
- 22. 如何創建自定義圖庫視圖和縮放?
- 23. android layout - 縮放圖像以適應自定義視圖
- 24. 將圖像縮放爲自定義視圖的寬度
- 25. Android需要幫助捏圖像視圖上的縮放
- 26. 捏(縮放)手勢不正確縮放
- 27. 捏/縮放和滾動/縮放點kinetic.js
- 28. 在自定義視圖列表視圖項中縮放位圖圖像
- 29. 自定義ImageView內縮放圖像
- 30. 安卓繪圖路徑,縮放和捏
我這個做,但我怎麼可以拖動或滾動縮放視圖 – sillyMistaker 2015-07-26 18:01:16
@sillyMistaker關於它在這篇文章的鏈接很好地解釋了鍋。評論的內容太多,但它仍然遵循相當簡單的邏輯。 – TechNyquist 2017-07-11 14:00:05