Android 开发:ViewFlipper 左右滑动效果
2012-02-04 08:50
477 查看
http://www.open-open.com/lib/view/open1325602955359.html
怎么实现Android主页面的左右拖动效果。其实实现起来很简单,就是使用ViewFlipper来将您要来回拖动的View装在一起,然后与GestureDetector手势识别类来联动,确定要显示哪个View,加上一点点动画效果即可。
view source
print?
view source
print?
怎么实现Android主页面的左右拖动效果。其实实现起来很简单,就是使用ViewFlipper来将您要来回拖动的View装在一起,然后与GestureDetector手势识别类来联动,确定要显示哪个View,加上一点点动画效果即可。
view source
print?
01 | public class TestFlip extends Activity implements OnGestureListener { |
02 |
03 | private ViewFlipper flipper; |
04 |
05 | private GestureDetector detector; |
06 |
07 | /** Called when the activity is first created. */ |
08 | @Override |
09 | public void onCreate(Bundle savedInstanceState) { |
10 | super .onCreate(savedInstanceState); |
11 | setContentView(R.layout.main); |
12 |
13 | detector = new GestureDetector( this ); |
14 | flipper = (ViewFlipper) this .findViewById(R.id.ViewFlipper01); |
15 | flipper.addView(addView(R.layout.layout1)); |
16 | flipper.addView(addView(R.layout.layout2)); |
17 | flipper.addView(addView(R.layout.layout3)); |
18 | flipper.addView(addView(R.layout.layout4)); |
19 | } |
20 |
21 | private View addView( int layout) { |
22 | LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); |
23 | View view = inflater.inflate(layout, null ); |
24 | return view; |
25 | } |
26 |
27 | @Override |
28 | public boolean onTouchEvent(MotionEvent event) { |
29 | return this .detector.onTouchEvent(event); |
30 | } |
31 |
32 | @Override |
33 | public boolean onDown(MotionEvent e) { |
34 | // TODO Auto-generated method stub |
35 | return false ; |
36 | } |
37 |
38 | @Override |
39 | public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, |
40 | float velocityY) { |
41 | if (e1.getX() - e2.getX() > 120 ) { |
42 | this .flipper.setInAnimation(AnimationUtils.loadAnimation( this , R.anim.push_left_in)); |
43 | this .flipper.setOutAnimation(AnimationUtils.loadAnimation( this , R.anim.push_left_out)); |
44 | this .flipper.showNext(); |
45 | return true ; |
46 | } else if (e1.getX() - e2.getX() < - 120 ) { |
47 | this .flipper.setInAnimation(AnimationUtils.loadAnimation( this , R.anim.push_right_in)); |
48 | this .flipper.setOutAnimation(AnimationUtils.loadAnimation( this , R.anim.push_right_out)); |
49 | this .flipper.showPrevious(); |
50 | return true ; |
51 | } |
52 | return false ; |
53 | } |
54 |
55 | @Override |
56 | public void onLongPress(MotionEvent e) { |
57 | // TODO Auto-generated method stub |
58 |
59 | } |
60 |
61 | @Override |
62 | public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, |
63 | float distanceY) { |
64 | // TODO Auto-generated method stub |
65 | return false ; |
66 | } |
67 |
68 | @Override |
69 | public void onShowPress(MotionEvent e) { |
70 | // TODO Auto-generated method stub |
71 |
72 | } |
73 |
74 | @Override |
75 | public boolean onSingleTapUp(MotionEvent e) { |
76 | // TODO Auto-generated method stub |
77 | return false ; |
78 | } |
79 | } |
print?
01 | <? xml version = "1.0" encoding = "utf-8" ?> |
02 | < LinearLayout xmlns:Android = "http://schemas.android.com/apk/res/android" |
03 | Android:orientation = "vertical" |
04 | Android:layout_width = "fill_parent" |
05 | Android:layout_height = "fill_parent" |
06 | > |
07 | < ViewFlipper Android:id = "@+id/ViewFlipper01" |
08 | Android:layout_width = "fill_parent" android:layout_height = "fill_parent" > |
09 | </ ViewFlipper > |
10 | </ LinearLayout > |
相关文章推荐
- Android UI开发第八篇——ViewFlipper 左右滑动效果
- Android UI开发第八篇——ViewFlipper 左右滑动效果
- Android UI开发第八篇——ViewFlipper 左右滑动效果
- Android UI开发第八篇——ViewFlipper 左右滑动效果
- android的左右滑动效果实现-ViewFlipper
- Android开发之使用ViewPager实现图片左右滑动切换效果
- android通过ViewFlipper实现左右滑动效果
- 实现android左右滑动效果:ViewFlipper、ViewPager、HorizontalScrollView
- android之ViewFlipper实现左右滑动动画效果
- android之ViewFlipper实现左右滑动动画效果
- android开发步步为营之53:viewpager+fragment构造可左右滑动标签页效果
- Android UI开发第八篇——ViewFlipper 左右滑动效果
- android之ViewFlipper实现左右滑动动画效果
- android之ViewFlipper实现左右滑动动画效果
- android之ViewFlipper实现左右滑动动画效果
- android之ViewFlipper实现左右滑动动画效果
- android之ViewFlipper实现左右滑动动画效果
- Android使用ViewFlipper实现左右滑动效果面
- android viewflipper 左右滑动切换显示图片效果
- android之ViewFlipper实现左右滑动动画效果