日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android ViewFlipper滑动屏幕切换

發布時間:2025/6/15 Android 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android ViewFlipper滑动屏幕切换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近看到ViewFlipper和Animation在一起的用法,感覺很好,我就自己寫了一下,感覺灰常好用,效果比gallery的滾動查看圖片好用多了,這個也是實現滾動屏幕切換圖片,但是用戶體驗要好很多!所以我把自己寫的demo分享一下!希望對大家有用,也方便我自己以后查閱!轉載請標明出處:

http://blog.csdn.net/wdaming1986/article/details/6766058

?

??????? 程序一開始界面,第一張圖片: ??????????????????????????????向右滑動屏幕切換到第二張圖片:

????????????????????????????

?

???????????????向右滑動切換第三張圖片:

??????? 向左滑動就又切換到第二張圖片了!

????????以此類推!

??????

??代碼奉上:

一、MainActivity。java類文件:

[java]?view plaincopyprint?
  • package?com.cn.daming;??
  • ??
  • import?android.app.Activity;??
  • import?android.content.Intent;??
  • import?android.graphics.Color;??
  • import?android.graphics.drawable.GradientDrawable;??
  • import?android.graphics.drawable.GradientDrawable.Orientation;??
  • import?android.os.Bundle;??
  • import?android.util.Log;??
  • import?android.view.GestureDetector;??
  • import?android.view.GestureDetector.OnGestureListener;??
  • import?android.view.LayoutInflater;??
  • import?android.view.MotionEvent;??
  • import?android.view.View;??
  • import?android.view.animation.AnimationUtils;??
  • import?android.widget.ViewFlipper;??
  • ??
  • public?class?MainActivity?extends?Activity?implements?OnGestureListener{??
  • ??????
  • ????private?GestureDetector?detector;??
  • ????private?ViewFlipper?flipper;??
  • ????private?final?int?HELPFILP_RESULT?=?106;??
  • ????Intent?getMainActivity?=?null;??
  • ????int?count?=?1;??
  • ??????
  • ????@Override??
  • ????public?void?onCreate(Bundle?savedInstanceState)?{??
  • ????????super.onCreate(savedInstanceState);??
  • ????????drawBackground();??
  • ????????LayoutInflater?inflater?=?LayoutInflater.from(this);??
  • ????????final?View?layout?=?inflater.inflate(R.layout.view_flipper,?null);??
  • ????????setContentView(layout);??
  • ????????flipper?=?(ViewFlipper)?findViewById(R.id.view_flipper);??
  • ????????detector?=?new?GestureDetector(this);??
  • ????}??
  • ??
  • ????public?void?drawBackground()??
  • ????{??
  • ????????GradientDrawable?grad?=?new?GradientDrawable(???
  • ???????????????????Orientation.TL_BR,??
  • ???????????????????new?int[]?{Color.rgb(0,?0,?127),??
  • ???????????????????????????Color.rgb(0,?0,?255),??
  • ???????????????????????????Color.rgb(127,?0,?255),??
  • ???????????????????????????Color.rgb(127,?127,?255),??
  • ???????????????????????????Color.rgb(127,?255,?255),??
  • ???????????????????????????Color.rgb(255,?255,?255)}???
  • ????????);???
  • ??
  • ????????this.getWindow().setBackgroundDrawable(grad);??
  • ????}??
  • ??????
  • ????@Override??
  • ????public?boolean?onTouchEvent(MotionEvent?event)?{??
  • ????????return?this.detector.onTouchEvent(event);??
  • ????}??
  • ??
  • ????public?boolean?onDown(MotionEvent?arg0)?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ????????return?false;??
  • ????}??
  • ??
  • ????public?boolean?onFling(MotionEvent?e1,?MotionEvent?e2,?float?arg2,??
  • ????????????float?arg3)?{??
  • ????????Log.i("Fling",?"Fling?Happened!");??
  • ????????if?(e1.getX()?-?e2.getX()?>?5)?{??
  • ????????????this.flipper.setInAnimation(AnimationUtils.loadAnimation(this,??
  • ????????????????????R.anim.push_left_in));??
  • ????????????this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this,??
  • ????????????????????R.anim.push_left_out));??
  • ????????????if?(count?<?3)?{??
  • ????????????????this.flipper.showNext();??
  • ????????????????count++;??
  • ????????????}??
  • ??
  • ????????????return?true;??
  • ????????}?else?if?(e1.getX()?-?e2.getX()?<?-5)?{??
  • ????????????this.flipper.setInAnimation(AnimationUtils.loadAnimation(this,??
  • ????????????????????R.anim.push_right_in));??
  • ????????????this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this,??
  • ????????????????????R.anim.push_right_out));??
  • ????????????if?(count?>?1)?{??
  • ????????????????this.flipper.showPrevious();??
  • ????????????????count--;??
  • ????????????}??
  • ????????????return?true;??
  • ????????}??
  • ????????return?true;??
  • ????}??
  • ??
  • ????public?void?onLongPress(MotionEvent?arg0)?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ??????????
  • ????}??
  • ??
  • ????public?boolean?onScroll(MotionEvent?arg0,?MotionEvent?arg1,?float?arg2,??
  • ????????????float?arg3)?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ????????return?false;??
  • ????}??
  • ??
  • ????public?void?onShowPress(MotionEvent?arg0)?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ??????????
  • ????}??
  • ??
  • ????public?boolean?onSingleTapUp(MotionEvent?arg0)?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ????????return?false;??
  • ????}??
  • }??
  • ?

    二、view_flipper.xml布局文件

    [html]?view plaincopyprint?
  • <?xml?version="1.0"?encoding="utf-8"?>??
  • <LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android"??
  • ????android:id="@+id/layout"?android:orientation="horizontal"??
  • ????android:layout_width="fill_parent"?android:layout_height="fill_parent"??
  • ????>??
  • ????<ViewFlipper?android:id="@+id/view_flipper"??
  • ????????android:layout_width="fill_parent"?android:layout_height="fill_parent"??
  • ????????android:persistentDrawingCache="animation"?android:flipInterval="1000"??
  • ????????android:inAnimation="@anim/push_left_in"?android:outAnimation="@anim/push_left_out">??
  • ????????<LinearLayout?android:orientation="horizontal"???
  • ????????????android:layout_width="fill_parent"?android:layout_height="fill_parent">??
  • ????????????<ImageView?android:id="@+id/view_bg1"?android:src="@drawable/bg1"??
  • ????????????????android:layout_width="fill_parent"?android:layout_height="fill_parent"??
  • ????????????????>??
  • ????????????</ImageView>??
  • ????????</LinearLayout>??
  • ????????<LinearLayout?android:orientation="horizontal"???
  • ????????????android:layout_width="fill_parent"?android:layout_height="fill_parent">??
  • ????????????<ImageView?android:id="@+id/view_bg2"?android:src="@drawable/bg2"??
  • ????????????????android:layout_width="fill_parent"?android:layout_height="fill_parent"??
  • ????????????????>??
  • ????????????</ImageView>??
  • ????????</LinearLayout>??
  • ????????<LinearLayout?android:orientation="horizontal"??
  • ????????????android:layout_width="fill_parent"?android:layout_height="fill_parent">??
  • ????????????<ImageView?android:id="@+id/view_bg3"?android:src="@drawable/bg3"??
  • ????????????????android:layout_width="fill_parent"?android:layout_height="fill_parent"??
  • ????????????>??
  • ????????????</ImageView>??
  • ????????</LinearLayout>??
  • ????</ViewFlipper>??
  • </LinearLayout>???
  • ?

    三、anim動畫布局文件:

    ?????? 1、push_left_in.xml布局文件:

    [html]?view plaincopyprint?
  • <span?style="font-size:13px;"><?xml?version="1.0"?encoding="utf-8"?>??
  • <set?xmlns:android="http://schemas.android.com/apk/res/android">??
  • ????????<translate?android:fromXDelta="100%p"?android:toXDelta="0"??
  • ????????????????android:duration="500"?/>??
  • ????????<alpha?android:fromAlpha="0.1"?android:toAlpha="1.0"??
  • ????????????????android:duration="500"?/>??
  • </set></span>??
  • [html]?view plaincopyprint?
  • <strong>??
  • </strong>???
  • ?????? 2、push_left_out.xml布局文件

    [html]?view plaincopyprint?
  • <?xml?version="1.0"?encoding="utf-8"?>??
  • <set?xmlns:android="http://schemas.android.com/apk/res/android">??
  • ????????<translate?android:fromXDelta="0"?android:toXDelta="-100%p"??
  • ????????????????android:duration="500"?/>??
  • ????????<alpha?android:fromAlpha="1.0"?android:toAlpha="0.1"??
  • ????????????????android:duration="500"?/>??
  • </set>??
  • ?????? 3、push_right_in.xml布局文件

    [html]?view plaincopyprint?
  • <span?style="font-size:13px;color:#000000;"><?xml?version="1.0"?encoding="UTF-8"?>??
  • <set?xmlns:android="http://schemas.android.com/apk/res/android">??
  • ????????<translate?android:fromXDelta="-100%p"?android:toXDelta="0"??
  • ????????????????android:duration="500"?/>??
  • ????????<alpha?android:fromAlpha="0.1"?android:toAlpha="1.0"??
  • ????????????????android:duration="500"?/>??
  • </set></span>??
  • ?

    ?????? 4、push_right_out.xml布局文件

    [html]?view plaincopyprint?
  • <?xml?version="1.0"?encoding="UTF-8"?>??
  • <set?xmlns:android="http://schemas.android.com/apk/res/android">??
  • ????????<translate?android:fromXDelta="0"?android:toXDelta="100%p"??
  • ????????????????android:duration="500"?/>??
  • ????????<alpha?android:fromAlpha="1.0"?android:toAlpha="0.1"??
  • ????????????????android:duration="500"?/>??
  • </set>??
  • 總結

    以上是生活随笔為你收集整理的Android ViewFlipper滑动屏幕切换的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 亚洲日本japanese丝袜 | 亚洲一区二区人妻 | 国产激情文学 | 国产97免费视频 | 黄色在线免费网站 | 久久久国产精品一区 | 91伊人网 | 亚洲成人aaa | 亚洲国产精品综合 | 在线欧美色 | 夜夜骚av一区二区三区 | 久草麻豆| 91av视频在线观看 | 午夜影院在线观看18 | 综合网五月 | 男人午夜免费视频 | 中文在线字幕免费观 | 免费av一区 | 久久六| 日本ww色 | 玖玖色资源 | 制服.丝袜.亚洲.中文.综合懂 | 欧美成人精品一区二区综合免费 | mm1313亚洲国产精品美女 | 欧美精品一区二区蜜桃 | 日韩欧美第一区 | 成人做爰www免费看视频网站 | 午夜视频一区二区三区 | 亚洲第五页 | 久久九九国产精品 | 日韩少妇av | 美日韩av在线 | 欲色影音| 色综合久久五月 | 性插视频在线观看 | 裸体的日本在线观看 | 久久av色| 久久国产成人精品 | 午夜在线成人 | jk美女又爽又黄视频 | 欧美69av | 男生裸体视频 | 日本午夜精品理论片a级app发布 | 成年人看的黄色 | 中文字幕一本 | 嫩模一区二区三区 | 小优视频污| 亚洲成人久久精品 | 黄色片女人 | 日韩av中文字幕在线播放 | 欧美青草视频 | 另一种灿烂生活 | 成人激情综合 | 日韩精品免费一区二区在线观看 | 青青青视频免费观看 | 中国老太婆性视频 | 欧美日韩一区二区在线 | 国产aⅴ激情无码久久久无码 | 国产一区二区视频在线观看 | 日韩av综合网站 | 国产乡下妇女三片 | 天天色视频 | 97免费观看视频 | 日本视频免费在线播放 | 黄a视频| 男人的天堂av女优 | 欧美中文在线观看 | 久久久久久久久综合 | 丝瓜色版| 国产黑丝av | 国产黄色激情视频 | 白俄罗斯毛片 | 亚洲美女av在线 | 中文字幕超碰在线 | 精品三级电影 | 久久人人爽爽 | 亚洲精品无amm毛片 国内一区二区三区 | 亚洲第一字幕 | 国产美女福利在线 | 黄色喷水视频 | 欧美精品一区二区三区蜜臀 | 欧美大喷水吹潮合集在线观看 | 国产精品熟妇一区二区三区四区 | 丁香婷婷亚洲 | www.69av.com | 亚洲精品二区三区 | 日本丰满肉感bbwbbwbbw | 一二三区精品 | mm1313亚洲国产精品无码试看 | 色中文字幕在线观看 | 久久99精品国产麻豆婷婷洗澡 | 乱熟女高潮一区二区在线 | 香蕉视频污视频 | 精品乱码一区二区三区四区 | 精品国产一区二区三区在线观看 | 欧美成人精品一区 | 欧美一二区视频 | aaa一级黄色片 | 国产又黄又粗又爽 |