我使用onTouch在imageView中移動圖像,但不幸的是它會移出屏幕。因此,如果圖像邊界觸及邊界,是否有更好的方法來控制,那麼我們可以阻止它移出?如何控制圖像不要從imageView中移出?
0
A
回答
1
我很難理解你的問題。但是如果我已經解釋了你的問題是正確的,你現在有一個可拖動的圖像視圖,你想確保圖像的邊界不會超出屏幕?阻止這種情況發生的唯一方法是檢查圖像邊界是否超出屏幕。下面的代碼不完整,它只會幫助你。 finalHeight和finalWidth現在將在屏幕上保存您的imageView的實際大小(即圖像視圖中實際圖像的大小)。
int windowwidth = getWindowManager().getDefaultDisplay().getWidth();
int windowheight = getWindowManager().getDefaultDisplay().getHeight();
final ImageView mImage= (ImageView)findViewById(R.id.mImage);
int finalHeight, finalWidth;
ViewTreeObserver vto = mImage.getViewTreeObserver();
vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
public boolean onPreDraw() {
finalHeight = mImage.getMeasuredHeight();
finalWidth = mImage.getMeasuredWidth();
return true;
}
});
mImage.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
LayoutParams layoutParams = (LayoutParams) mImage.getLayoutParams();
switch(event.getAction())
{
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_MOVE:
int x_cord = (int)event.getRawX();
int y_cord = (int)event.getRawY();
if(x_cord>windowwidth){x_cord=windowwidth;}
if(y_cord>windowheight){y_cord=windowheight;}
layoutParams.leftMargin = x_cord - 10; // Set these to co-responding values
layoutParams.topMargin = y_cord - 10; // Set these to co-responding values
mImage.setLayoutParams(layoutParams);
break;
default:
break;
}
return true;
}
});
這可以幫助你在路上=)
+0
對不起我的可憐的英文,我不想移動imageView,我想拖動imageView中的drawable.Thanks很多,我用drawable的矩形解決了它 – gushedaoren
相關問題
- 1. 移動圖像imageview
- 2. 如何從另一個Imageview複製一個ImageView的圖像
- 3. 如何從imageUrl中獲取圖像imageView
- 4. 如何限制在Android圖像平移邊界imageView
- 5. 如何從庫中設置imageview的圖像,然後單擊imageview?
- 6. 從ImageView中保存圖像
- 7. Imageview圖像捕捉不按需要來
- 8. 如何在單擊該圖像時從ImageView中檢索圖像?
- 9. Android:稍微偏移ImageView中的圖像
- 10. 如何從ImageView保存圖像?
- 11. DooPHP:如何從控制器動作輸出圖像?
- 12. 如何從activityA的按鈕彈出imageview的圖像setimageresource - Android
- 13. 如何從Java代碼爲ImageView製作圖像變化動畫
- 14. 在Android中,如何移動裁剪圖像? (高級ImageView定位)
- 15. 如何在viewpager中縮放和平移imageview圖像
- 16. 將圖像從一個ImageView複製到另一個ImageView
- 17. 當ImageView過度滾動時,如何從ImageView釋放圖像
- 18. 如何將圖像從一個ImageView截取到另一個ImageView
- 19. 從圖庫中選擇圖像到imageview
- 20. imageview不顯示圖像從URL
- 21. ImageView的不顯示圖像從畫廊
- 22. imageView不顯示圖像從UIImagePickerController
- 23. 不保存圖像從ImageView的
- 24. 如何通過PanGestureRecognizer控制imageView的移動?
- 25. 如何從ImageView中刪除當前位圖圖像
- 26. Xcode圖像鏈接ImageView到下一個視圖控制器
- 27. 在ImageView中加載圖像時出現
- 28. 導軌 - 如何計算從視圖中移動到控制器
- 29. 如何從內存中移除視圖控制器?
- 30. 圖像縮放/移動/歪斜控制
你用什麼代碼將圖像移動的ImageView裏面? – Zzokk
我也有同樣的問題,你怎麼處理這個請給我一個樣本 – nitesh