English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Questa interfaccia di controllo condivide il codice specifico del controllo di scorrimento a gesti di Android, fornito per riferimento, il contenuto specifico è il seguente
1. Creare una classe di controllo personalizzata: MyView
public class MyView extends Button{ //Ricorda l'ultima posizione di scorrimento private int lastX; private int lastY; public MyView(Context context) { super(context); // TODO Auto-generated constructor stub } public MyView(Context context, AttributeSet attrs) { super(context, attrs); } @Override public boolean onTouchEvent(MotionEvent event) { // Ottieni i valori xy del view rispetto allo schermo del telefono int x = (int) event.getRawX(); int y = (int) event.getRawY(); switch (event.getAction()) { case MotionEvent.ACTION_DOWN: break; case MotionEvent.ACTION_MOVE: int deltaX = x - lastX; int deltaY = y - lastY; int translationX = (int) (ViewHelper.getTranslationX(this) + deltaX); int translationY = (int) (ViewHelper.getTranslationY(this) + deltaY); ViewHelper.setTranslationX(this, translationX); ViewHelper.setTranslationY(this, translationY); break; case MotionEvent.ACTION_UP: break; default: break; } lastX = x; lastY = y; return true; }
Il codice sopra è una classe di pulsante personalizzata, che rewritten l' metodo onTouchEvent() per ascoltare lo scrolling dell'utente, e siccome si parla di scrolling, ci sarà sicuramente la discussione sull'offset.
translationX, translationY sono l'offset dell'angolo superiore sinistro del View rispetto al layout genitore. La scorrimento animato viene implementato tramite il terzo party nineoldandroids.
ViewHelper.getTranslationY(this) calcola l'offset di questo View, il valore iniziale è 0, l'offset a sinistra è negativo, l'offset a destra è positivo.
2.xml layout
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <com.example.administrator.slide.MyView android:id="@+id/myview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Posso scorrere"/> </RelativeLayout>
Questo è tutto il contenuto dell'articolo, spero che sia utile per la tua apprendimento, e ti prego di supportare e gridare le lezioni.
Dichiarazione: il contenuto di questo articolo è stato tratto da Internet, il diritto d'autore è dell'autore originale, il contenuto è stato contribuito autonomamente dagli utenti di Internet e caricato autonomamente, il sito web non detiene i diritti di proprietà, non è stato editato manualmente e non assume responsabilità per le relative responsabilità legali. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una e-mail a: notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare, fornendo prove pertinenti. Una volta verificata, il sito web eliminerà immediatamente il contenuto sospetto di violazione del copyright.