2009-11-02 13 views
6

Potrzebuję przenieść ImageView (lub cokolwiek innego, jeśli o to chodzi) wokół wewnątrz RelativeLayout. Czy ktoś wie, jak to zrobić?Przenieś ImageView wokół wewnątrz RelativeLayout

+1

Mógłbyś być nieco bardziej konkretnego? Co oznacza "poruszać się"? – CommonsWare

+0

Podobnie, przenieś jego współrzędne x \ y. Na przykład, jeśli masz obraz większy niż rozdzielczość ekranu i chcesz go przeciągnąć, aby obejrzeć części, które były poza ekranem. – Joren

Odpowiedz

10

makesure ImageView „s layout_height i layout_width jest ustawiony na fill_parent. Następnie wykonaj:

Aby przenieść widok, użyj Matrix. Jest bardzo przydatny.

Matrix matrix = new Matrix(); 

matrix.reset(); 

matrix.postTranslate(x, y); 

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

pamiętaj, aby ustawić ImageView android: scaleType = "matrix" w xml, jeśli planujesz użyć tego i przywrócić widok do położenia środkowego/startowego (jak w przypadku uchwytu joysticka), w przeciwnym razie zostanie przesunięty, jeśli nie zostanie ustawiony. – TouchBoarder

1

mImageView.scrollBy (xOffset, yOffset);

+0

Proszę skomentuj swój kod. – CSchulz

0

To bardzo proste. Możesz zaimplementować zdarzenie onTouchListener dowolnego żądanego elementu sterującego i ustawić jego pozycję x, y, np. Ustawić nowy LayoutParams, ustawić x, y i przypisać do wyświetlenia jako view.setLayoutParam(layoutParams); przeciągnie widok.

2

to znalazłem pracował:

imageview.layout(l,t,r,b); 
Powiązane problemy