Heim > Java > javaLernprogramm > Hauptteil

Android-Programmiermethode zum Realisieren des Verschiebens nach links und rechts zum Wechseln des Hintergrunds

高洛峰
Freigeben: 2017-01-13 11:46:29
Original
1228 Leute haben es durchsucht

Das Beispiel in diesem Artikel beschreibt die Methode der Android-Programmierung, um einen nach links und rechts gleitenden Hintergrund zu realisieren. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Kürzlich möchte ich eine Anwendung erstellen, die nach links und rechts gleitet, um Hintergrundbilder zu wechseln, daher möchte ich meine Forschung teilen:

Dies muss zwei Abhörschnittstellen OnGestureListener und OnTouchListener erben

Sie können online nach diesen beiden Schnittstellen suchen

Gleichzeitig müssen Sie zwei Eigenschaften festlegen

bgLayout.setOnTouchListener(this);
bgLayout.setLongClickable(true);
Nach dem Login kopieren

Und in dieser Funktion gibt es die folgenden Sätze

public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return this.mGesture.onTouchEvent(event);
}
Nach dem Login kopieren

Angehängter Code:

public class SwitcherActivity extends Activity implements OnGestureListener,
    OnTouchListener {
  /** Called when the activity is first created. */
  LinearLayout bgLayout = null;
  private GestureDetector mGesture = null;
  private int flag = 3;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    mGesture = new GestureDetector(this);
    bgLayout = (LinearLayout) findViewById(R.id.bg);
    bgLayout.setBackgroundResource(R.drawable.bg3);
    bgLayout.setOnTouchListener(this);
    bgLayout.setLongClickable(true);
  }
  public boolean onDown(MotionEvent e) {
    // TODO Auto-generated method stub
    return false;
  }
  public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
      float velocityY) {
    // 处理左右滑动
    if (e1.getX() - e2.getX() > 100) { // 向左滑动
      if (flag == 3) {
        bgLayout.setBackgroundResource(R.drawable.bg4);
        flag = 4;
        return true;
      }
      if (flag == 4) {
        bgLayout.setBackgroundResource(R.drawable.bg5);
        flag = 5;
        return true;
      }
      if (flag == 1) {
        bgLayout.setBackgroundResource(R.drawable.bg2);
        flag = 2;
        return true;
      }
      if (flag == 2) {
        bgLayout.setBackgroundResource(R.drawable.bg3);
        flag = 3;
        return true;
      }
    } else if (e1.getX() - e2.getX() < -100) { // 向右滑动
      if (flag == 3) {
        bgLayout.setBackgroundResource(R.drawable.bg2);
        flag = 2;
        return true;
      }
      if (flag == 2) {
        bgLayout.setBackgroundResource(R.drawable.bg1);
        flag = 1;
        return true;
      }
      if (flag == 5) {
        bgLayout.setBackgroundResource(R.drawable.bg4);
        flag = 4;
        return true;
      }
      if (flag == 4) {
        bgLayout.setBackgroundResource(R.drawable.bg3);
        flag = 3;
        return true;
      }
    }
    return false;
  }
  public void onLongPress(MotionEvent e) {
    // TODO Auto-generated method stub
  }
  public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
      float distanceY) {
    // TODO Auto-generated method stub
    return false;
  }
  public void onShowPress(MotionEvent e) {
    // TODO Auto-generated method stub
  }
  public boolean onSingleTapUp(MotionEvent e) {
    // TODO Auto-generated method stub
    return false;
  }
  public boolean onTouch(View v, MotionEvent event) {
    // TODO Auto-generated method stub
    return this.mGesture.onTouchEvent(event);
  }
}
Nach dem Login kopieren

Ich hoffe, dieser Artikel erklärt, dass er für alle hilfreich sein wird, die sich mit der Android-Programmierung befassen.

Weitere Android-Programmiermethoden zum Implementieren von Artikeln zum Wechseln des Hintergrunds nach links und rechts finden Sie auf der chinesischen PHP-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