Heim > Java > javaLernprogramm > Android implementiert eine Drag-Funktion ~ Organisation ~, die zum persönlichen Testen verfügbar ist

Android implementiert eine Drag-Funktion ~ Organisation ~, die zum persönlichen Testen verfügbar ist

PHP中文网
Freigeben: 2017-08-02 11:26:48
Original
2025 Leute haben es durchsucht

Um Android-Anwendungen zu entwickeln, müssen Sie zuerst Eclipse, JDK und SDK installieren und dann einen Android-Telefonemulator erstellen. Hier gibt es nicht viel zu sagen.

Die Drag-Funktion von Android erscheint in vielen Szenarien, daher wurde die Implementierung dieser Funktion von mir geändert und debuggt.

Der Code lautet wie folgt:

Erstellen Sie zunächst zwei Instanzen von imageView1 und imageView2 auf der Ansichtsschnittstelle und fügen Sie dann den folgenden Code in die Java-Klassendatei ein

private int screenWidth; 
private int screenHeight; 
private ImageView img1; 
private ImageView img2;
img1 = (ImageView) findViewById(R.id.imageView1); 
img2 = (ImageView) findViewById(R.id.imageView2);
DisplayMetrics dm = getResources().getDisplayMetrics(); 
screenWidth = dm.widthPixels; 
screenHeight = dm.heightPixels - 50;
img1.setOnTouchListener(movingEventListener); 
img2.setOnTouchListener(movingEventListener);
private OnTouchListener movingEventListener = new OnTouchListener() { 
int lastX, lastY; 
@Override 
public boolean onTouch(View v, MotionEvent event) { 
    switch (event.getAction()) { 
    case MotionEvent.ACTION_DOWN: 
        lastX = (int) event.getRawX(); 
        lastY = (int) event.getRawY(); 
        break; 
    case MotionEvent.ACTION_MOVE: 
        int dx = (int) event.getRawX() - lastX; 
        int dy = (int) event.getRawY() - lastY;
        int left = v.getLeft() + dx; 
        int top = v.getTop() + dy; 
        int right = v.getRight() + dx; 
        int bottom = v.getBottom() + dy; 
        // ÉèÖò»Äܳö½ç 
        if (left < 0) { 
            left = 0; 
            right = left + v.getWidth(); 
        }
        if (right > screenWidth) { 
            right = screenWidth; 
            left = right - v.getWidth(); 
        }
        if (top < 0) { 
            top = 0; 
            bottom = top + v.getHeight(); 
        }
        if (bottom > screenHeight) { 
            bottom = screenHeight; 
            top = bottom - v.getHeight(); 
        }
        v.layout(left, top, right, bottom);
        lastX = (int) event.getRawX(); 
        lastY = (int) event.getRawY();
        break; 
    case MotionEvent.ACTION_UP: 
        break; 
    } 
    return true; 
} 
};
Nach dem Login kopieren

Ist es schon fertig? Willkommen auf der chinesischen PHP-Website, um Programmieren zu lernen

Artikeladresse: http://www.php.cn/java-article-375823.html

______________ PHP Chinesische Website_______________

Das obige ist der detaillierte Inhalt vonAndroid implementiert eine Drag-Funktion ~ Organisation ~, die zum persönlichen Testen verfügbar ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage