この記事の例では、背景を左右にスライドさせて切り替えるAndroidプログラミングの方法を説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
最近、左右にスライドして背景画像を切り替えるアプリケーションを作成したいと思い、特別に研究を共有します:
これは2つのリスニングインターフェイスOnGestureListenerを継承する必要があります, OnTouchListener
この2つについてオンラインでインターフェイスを確認できます
同時に2つの属性を設定する必要があります
bgLayout.setOnTouchListener(this); bgLayout.setLongClickable(true);
そしてこの関数には以下の文があります
public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub return this.mGesture.onTouchEvent(event); }
添付コード:
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); } }
この記事の説明が Android プログラミングのすべての人に役立つことを願っています。
左右のスライド切り替えの背景を実装するための Android プログラミング方法の詳細については、PHP 中国語 Web サイトに注目してください。