Harry
- Forum-Beiträge: 52
14.12.2011, 20:38:35 via Website
14.12.2011 20:38:35 via Website
Hallo,
ich arbeite gerade an einer Anwendung, bei der ich eine custom HorizontalScrollView (HSV) verwende.
In dieser HSV sind Bilder zu sehen welche nach rechts und links gescrollt werden können. Soweit so gut.
Nun möchte ich aber die Bilder mit einem "ACTION_MOVE"-Event aus der HSV ziehen.
Hierzu befindet sich hinter der HSV eine bildschirmfüllende View, in der ich die OnTouchEvent-Methode überschrieben habe.
Ich habe versucht in meiner HSV die Methode onTouchEvent ebenfalls zu überschreiben. Jedoch bekomme ich es nie hin, dass beides funktioniert.
Ich habe die Methode schon mehrfach umgestellt, ich kann jedoch entweder in der HSV scrollen, oder nur ein Bild herausziehen.
Ich verzweifle noch...
HorizontalScrollView OnTouchEvent():
Mit der obigen Methode ist es möglich, Bilder herauszuziehen, aber nicht zu scrollen.
Hätte da vielleicht jemand einen Tipp für mich?
Gruß Harry
ich arbeite gerade an einer Anwendung, bei der ich eine custom HorizontalScrollView (HSV) verwende.
In dieser HSV sind Bilder zu sehen welche nach rechts und links gescrollt werden können. Soweit so gut.
Nun möchte ich aber die Bilder mit einem "ACTION_MOVE"-Event aus der HSV ziehen.
Hierzu befindet sich hinter der HSV eine bildschirmfüllende View, in der ich die OnTouchEvent-Methode überschrieben habe.
Ich habe versucht in meiner HSV die Methode onTouchEvent ebenfalls zu überschreiben. Jedoch bekomme ich es nie hin, dass beides funktioniert.
Ich habe die Methode schon mehrfach umgestellt, ich kann jedoch entweder in der HSV scrollen, oder nur ein Bild herausziehen.
Ich verzweifle noch...
HorizontalScrollView OnTouchEvent():
1@Override
2 public boolean onTouchEvent(MotionEvent _event)
3 {
4 Logger.enter();
5
6 switch (_event.getAction())
7 {
8 case MotionEvent.ACTION_DOWN:
9 {
10 m_fXDistance = m_fYDistance = 0f;
11 m_fLastX = _event.getX();
12 m_fLastY = _event.getY();
13 break;
14 }
15 case MotionEvent.ACTION_MOVE:
16 {
17 final float fX = _event.getX();
18 final float fY = _event.getY();
19 m_fXDistance += Math.abs(fX - m_fLastX);
20 m_fYDistance += Math.abs(fY - m_fLastY);
21 m_fLastX = fX;
22 m_fLastY = fY;
23 if (m_fXDistance > m_fYDistance)
24 {
25 return true;
26 }
27 break;
28 }
29 }
30 return false;
31 }
2 public boolean onTouchEvent(MotionEvent _event)
3 {
4 Logger.enter();
5
6 switch (_event.getAction())
7 {
8 case MotionEvent.ACTION_DOWN:
9 {
10 m_fXDistance = m_fYDistance = 0f;
11 m_fLastX = _event.getX();
12 m_fLastY = _event.getY();
13 break;
14 }
15 case MotionEvent.ACTION_MOVE:
16 {
17 final float fX = _event.getX();
18 final float fY = _event.getY();
19 m_fXDistance += Math.abs(fX - m_fLastX);
20 m_fYDistance += Math.abs(fY - m_fLastY);
21 m_fLastX = fX;
22 m_fLastY = fY;
23 if (m_fXDistance > m_fYDistance)
24 {
25 return true;
26 }
27 break;
28 }
29 }
30 return false;
31 }
Mit der obigen Methode ist es möglich, Bilder herauszuziehen, aber nicht zu scrollen.
Hätte da vielleicht jemand einen Tipp für mich?
Gruß Harry
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.