Android UI开发第八篇——ViewFlipper 左右滑动效果
生活随笔
收集整理的這篇文章主要介紹了
Android UI开发第八篇——ViewFlipper 左右滑动效果
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
怎么實現Android主頁面的左右拖動效果。其實實現起來很簡單,就是使用ViewFlipper來將您要來回拖動的View裝在一起,然后與GestureDetector手勢識別類來聯動,確定要顯示哪個View,加上一點點動畫效果即可。
java code: public class TestFlip extends Activity implements OnGestureListener { private ViewFlipper flipper; private GestureDetector detector; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); detector = new GestureDetector(this); flipper = (ViewFlipper) this.findViewById(R.id.ViewFlipper01); flipper.addView(addView(R.layout.layout1)); flipper.addView(addView(R.layout.layout2)); flipper.addView(addView(R.layout.layout3)); flipper.addView(addView(R.layout.layout4)); } private View addView(int layout) { LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(layout, null); return view; } @Override public boolean onTouchEvent(MotionEvent event) { return this.detector.onTouchEvent(event); } @Override public boolean onDown(MotionEvent e) { // TODO Auto-generated method stub return false; } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { if (e1.getX() - e2.getX() > 120) { this.flipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_in)); this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_out)); this.flipper.showNext(); return true; } else if (e1.getX() - e2.getX() < -120) { this.flipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_right_in)); this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_right_out)); this.flipper.showPrevious(); return true; } return false; } @Override public void onLongPress(MotionEvent e) { // TODO Auto-generated method stub } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { // TODO Auto-generated method stub return false; } @Override public void onShowPress(MotionEvent e) { // TODO Auto-generated method stub } @Override public boolean onSingleTapUp(MotionEvent e) { // TODO Auto-generated method stub return false; } } xml code: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ViewFlipper android:id="@+id/ViewFlipper01" android:layout_width="fill_parent" android:layout_height="fill_parent"> </ViewFlipper> </LinearLayout> http://www.devdiv.com/home.php?mod=space&uid=14682&do=blog&id=3869
? ? ?本文轉自xyz_lmn51CTO博客,原文鏈接:http://blog.51cto.com/xyzlmn/817361,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的Android UI开发第八篇——ViewFlipper 左右滑动效果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MetaModelEngine:域模型定
- 下一篇: CyberArk:被忽略的特权账号管理已