Home >Java >javaTutorial >Android programming method to realize left and right sliding to switch background
The example of this article describes the method of Android programming to realize left and right sliding switching background. Share it with everyone for your reference, the details are as follows:
Recently I want to make an application that slides left and right to switch background images, and I specially share my research:
This needs to inherit 2 listening interfaces OnGestureListener , OnTouchListener
You can check these two interfaces online
At the same time, you need to set 2 properties
bgLayout.setOnTouchListener(this); bgLayout.setLongClickable(true);
And in this function there are The following sentences are as follows
public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub return this.mGesture.onTouchEvent(event); }
Attached 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); } }
I hope this article will be useful to everyone in Android programming. helped.
For more Android programming methods to implement left and right sliding switching background related articles, please pay attention to the PHP Chinese website!