2009-11-02 147 views
6

我需要在RelativeLayout內移動一個ImageView(或其他任何東西)。有沒有人知道這樣做的正確方法?在RelativeLayout中移動ImageView

+1

你能成爲一個更具體一點? 「移動」是什麼意思? – CommonsWare

+0

像,移動它的x \ y座標。例如,如果您的圖像大於屏幕分辨率,並且希望能夠拖動它以查看屏幕外的部分。 – Joren

回答

10

Makesure ImageView的layout_heightlayout_width設置爲FILL_PARENT。然後做:

要移動視圖,使用矩陣。這非常方便。

Matrix matrix = new Matrix(); 

matrix.reset(); 

matrix.postTranslate(x, y); 

imageview.setScaleType(ScaleType.MATRIX); 
imageview.setImageMatrix(matrix); 
+0

記得在xml中設置ImageView android:scaleType =「matrix」,如果你打算使用它並將視圖返回到中心/開始位置(如操縱桿手柄),否則如果沒有設置它將得到偏移量。 – TouchBoarder

1

mImageView.scrollBy(X偏移,Y偏移);

+0

請評論你的代碼。 – CSchulz

0

這很容易。你可以實現你想要的任何控件的onTouchListener事件,並設置它的x,y位置,如創建一個新的LayoutParams設置它的x,y並指定查看爲view.setLayoutParam(layoutParams);它將拖動視圖。

2

這個我發現工作:

imageview.layout(l,t,r,b);