天天看點

android的ViewFlipper

activity_main.xml

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

<code>&lt;LinearLayout xmlns:android=</code><code>"http://schemas.android.com/apk/res/android"</code>

<code>    </code><code>xmlns:tools=</code><code>"http://schemas.android.com/tools"</code>

<code>    </code><code>android:layout_width=</code><code>"match_parent"</code>

<code>    </code><code>android:layout_height=</code><code>"match_parent"</code>

<code>    </code><code>android:orientation=</code><code>"vertical"</code>

<code>   </code><code>&gt;</code>

<code>    </code> 

<code>    </code><code>&lt;ViewFlipper </code>

<code>        </code><code>android:id=</code><code>"@+id/viewFlipper_1"</code>

<code>        </code><code>android:layout_width=</code><code>"match_parent"</code>

<code>        </code><code>android:layout_height=</code><code>"match_parent"</code>

<code>        </code><code>&gt;</code>

<code>        </code> 

<code>         </code><code>&lt;LinearLayout </code>

<code>        </code><code>android:id=</code><code>"@+id/linearLayout_1_1"</code>

<code>        </code><code>android:layout_width=</code><code>"fill_parent"</code>

<code>        </code><code>android:layout_height=</code><code>"fill_parent"</code>

<code>        </code><code>&lt;ImageView </code>

<code>            </code><code>android:id=</code><code>"@+id/imageView_1_1"</code>

<code>            </code><code>android:layout_width=</code><code>"wrap_content"</code>

<code>            </code><code>android:layout_height=</code><code>"wrap_content"</code>

<code>            </code><code>android:src=</code><code>"@drawable/kobe0"</code>

<code>            </code><code>/&gt;</code>

<code>    </code><code>&lt;/LinearLayout&gt;</code>

<code>    </code><code>&lt;LinearLayout</code>

<code>        </code><code>android:id=</code><code>"@+id/linearayout_2_2"</code> 

<code>          </code><code>&lt;ImageView </code>

<code>            </code><code>android:id=</code><code>"@+id/imageView_2_2"</code>

<code>            </code><code>android:src=</code><code>"@drawable/kobe1"</code>

<code>     </code><code>&lt;LinearLayout</code>

<code>        </code><code>android:id=</code><code>"@+id/linearayout_3_3"</code> 

<code>            </code><code>android:id=</code><code>"@+id/imageView_3_3"</code>

<code>            </code><code>android:src=</code><code>"@drawable/kobe3"</code>

<code>        </code><code>android:id=</code><code>"@+id/linearayout_4_4"</code> 

<code>            </code><code>android:id=</code><code>"@+id/imageView_4_4"</code>

<code>            </code><code>android:src=</code><code>"@drawable/kobe4"</code>

<code>    </code><code>&lt;/ViewFlipper&gt;</code>

<code>   </code> 

<code>&lt;/LinearLayout&gt;</code>

res/anim/in_leftright.xml

<code>&lt;?xml version=</code><code>"1.0"</code> <code>encoding=</code><code>"utf-8"</code><code>?&gt;</code>

<code>&lt;set xmlns:android=</code><code>"http://schemas.android.com/apk/res/android"</code>  

<code>    </code><code>&gt;</code>

<code>    </code><code>&lt;translate</code>

<code>        </code><code>android:duration=</code><code>"3000"</code>

<code>        </code><code>android:fromXDelta=</code><code>"-100%p"</code>

<code>        </code><code>android:toXDelta=</code><code>"0"</code>

<code>    </code><code>&lt;/translate&gt;</code>

<code>&lt;/set&gt;</code>

res/anim/in_rightleft.xml

<code>        </code><code>android:fromXDelta=</code><code>"100%p"</code>

res/anim/out_leftright.xml

<code>        </code><code>android:fromXDelta=</code><code>"0"</code>

<code>        </code><code>android:toXDelta=</code><code>"100%p"</code>

res/anim/out_rightleft.xml

<code>        </code><code>android:toXDelta=</code><code>"-100%p"</code>

MainActivity

<code>package</code> <code>com.example.viewflipper;</code>

<code>import</code> <code>android.R.integer;</code>

<code>import</code> <code>android.app.Activity;</code>

<code>import</code> <code>android.os.Bundle;</code>

<code>import</code> <code>android.view.Menu;</code>

<code>import</code> <code>android.view.MenuItem;</code>

<code>import</code> <code>android.view.MotionEvent;</code>

<code>import</code> <code>android.widget.ViewFlipper;</code>

<code>public</code> <code>class</code> <code>MainActivity </code><code>extends</code> <code>Activity {</code>

<code>    </code><code>private</code> <code>ViewFlipper viewFilpper;</code>

<code>    </code><code>@Override</code>

<code>    </code><code>protected</code> <code>void</code> <code>onCreate(Bundle savedInstanceState) {</code>

<code>        </code><code>super</code><code>.onCreate(savedInstanceState);</code>

<code>        </code><code>setContentView(R.layout.activity_main);</code>

<code>        </code><code>viewFilpper=(ViewFlipper) findViewById(R.id.viewFlipper_1);</code>

<code>    </code><code>}</code>

<code>    </code><code>//重寫觸屏事件監聽方法</code>

<code>    </code><code>float</code> <code>startx=</code><code>0</code><code>.0F;</code>

<code>    </code><code>float</code> <code>endx=</code><code>0</code><code>.0F;</code>

<code>    </code><code>public</code> <code>boolean</code> <code>onTouchEvent(MotionEvent event) {</code>

<code>        </code><code>// TODO Auto-generated method stub</code>

<code>        </code><code>int</code> <code>action=event.getAction();</code>

<code>        </code><code>switch</code> <code>(action) {</code>

<code>        </code><code>case</code> <code>MotionEvent.ACTION_DOWN:</code>

<code>            </code><code>startx=event.getX();</code>

<code>            </code><code>break</code><code>;</code>

<code>        </code><code>case</code> <code>MotionEvent.ACTION_UP:</code>

<code>            </code><code>//向右滑動</code>

<code>            </code><code>if</code><code>(event.getX()-startx&gt;</code><code>10</code><code>){</code>

<code>                </code><code>viewFilpper.setInAnimation(</code><code>this</code><code>, R.anim.in_leftright);</code>

<code>                </code><code>viewFilpper.setOutAnimation(</code><code>this</code><code>, R.anim.out_leftright);</code>

<code>                </code><code>viewFilpper.showNext();</code>

<code>            </code><code>}</code><code>else</code> <code>if</code><code>(startx-event.getX()&gt;</code><code>10</code><code>){</code>

<code>                </code><code>viewFilpper.setInAnimation(</code><code>this</code><code>, R.anim.in_rightleft);</code>

<code>                </code><code>viewFilpper.setOutAnimation(</code><code>this</code><code>, R.anim.out_rightleft);</code>

<code>                </code><code>viewFilpper.showPrevious();</code>

<code>            </code><code>}</code>

<code>            </code> 

<code>        </code><code>default</code><code>:</code>

<code>        </code><code>}</code>

<code>        </code><code>return</code> <code>super</code><code>.onTouchEvent(event);</code>

<code>}</code>

<a href="http://s2.51cto.com/wyfs02/M00/8B/94/wKiom1hRVeHiJjNTABC_NhHUwJU342.gif-wh_500x0-wm_3-wmp_4-s_90220252.gif" target="_blank"></a>

 本文轉自 matengbing 51CTO部落格,原文連結:http://blog.51cto.com/matengbing/1882840

繼續閱讀