L'exemple de cet article décrit la méthode de programmation Android pour réaliser un arrière-plan de commutation coulissant vers la gauche et la droite. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Récemment, je souhaite créer une application qui glisse vers la gauche et la droite pour changer d'image d'arrière-plan, j'aimerais donc partager mes recherches :
Cela doit hériter de 2 interfaces d'écoute OnGestureListener , OnTouchListener
Vous pouvez vérifier en ligne ces deux interfaces
En même temps, vous devez définir 2 propriétés
bgLayout.setOnTouchListener(this); bgLayout.setLongClickable(true);
Et dans cette fonction Il y a les phrases suivantes
public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub return this.mGesture.onTouchEvent(event); }
Code ci-joint :
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); } }
J'espère que cet article explique qu'il sera utile à tout le monde dans la programmation Android.
Pour plus de méthodes de programmation Android permettant d'implémenter des articles sur l'arrière-plan de commutation coulissante gauche et droite, veuillez faire attention au site Web PHP chinois !