亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

使用ViewPager實現高仿launcher左右拖動效果

2020-04-11 12:36:59
字體:
來源:轉載
供稿:網友
前面一篇高仿launcher和墨跡左右拖動效果獲得了很多朋友的好評,上一篇文章主要是通過自定義ViewGroup實現的,有點麻煩。今天用ViewPager這個類實現了同樣的效果,這樣代碼更少,但是效果是一樣的。ViewPager是實現左右兩個屏幕平滑地切換的一個類,它是Google提供的。

使用ViewPager首先需要引入android-support-v4.jar這個jar包。具體ViewPager的用法,這里不做介紹,自己從網上搜索吧!
下面先看一下效果:

       

 
效果請自行體驗和上一篇比較。下面上代碼:
首先是layout下面的main.xml

復制代碼 代碼如下:

<?xmlversion="1.0"encoding="utf-8"?>
<FrameLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/viewGroup"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="30dp"
android:gravity="center_horizontal"
android:orientation="horizontal">
</LinearLayout>
</RelativeLayout>
</FrameLayout>

接下來為每一個切換界面設置布局item1.xml
復制代碼 代碼如下:

<?xmlversion="1.0"encoding="UTF-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/guide01">
</ImageView>
</LinearLayout>

其他的幾個界面布局和這個一樣,就是修改下背景圖片,所以不再復述,
最后是核心代碼:
復制代碼 代碼如下:

importjava.util.ArrayList;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.os.Parcelable;
importandroid.support.v4.view.PagerAdapter;
importandroid.support.v4.view.ViewPager;
importandroid.support.v4.view.ViewPager.OnPageChangeListener;
importandroid.view.LayoutInflater;
importandroid.view.View;
importandroid.view.ViewGroup;
importandroid.view.ViewGroup.LayoutParams;
importandroid.view.Window;
importandroid.widget.ImageView;
publicclassMainActivityextendsActivity{
ViewPagerviewPager;
ArrayList<View>list;
ViewGroupmain,group;
ImageViewimageView;
ImageView[]imageViews;
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
LayoutInflaterinflater=getLayoutInflater();
list=newArrayList<View>();
list.add(inflater.inflate(R.layout.item1,null));
list.add(inflater.inflate(R.layout.item2,null));
list.add(inflater.inflate(R.layout.item3,null));
list.add(inflater.inflate(R.layout.item4,null));
list.add(inflater.inflate(R.layout.item5,null));
imageViews=newImageView[list.size()];
ViewGroupmain=(ViewGroup)inflater.inflate(R.layout.main,null);
//group是R.layou.main中的負責包裹小圓點的LinearLayout.
ViewGroupgroup=(ViewGroup)main.findViewById(R.id.viewGroup);
viewPager=(ViewPager)main.findViewById(R.id.viewPager);
for(inti=0;i<list.size();i++){
imageView=newImageView(MainActivity.this);
imageView.setLayoutParams(newLayoutParams(10,10));
imageView.setPadding(10,0,10,0);
imageViews[i]=imageView;
if(i==0){
//默認進入程序后第一張圖片被選中;
imageViews[i].setBackgroundResource(R.drawable.guide_dot_white);
}else{
imageViews[i].setBackgroundResource(R.drawable.guide_dot_black);
}
group.addView(imageView);
}
setContentView(main);
viewPager.setAdapter(newMyAdapter());
viewPager.setOnPageChangeListener(newMyListener());
}
classMyAdapterextendsPagerAdapter{
@Override
publicintgetCount(){
returnlist.size();
}
@Override
publicbooleanisViewFromObject(Viewarg0,Objectarg1){
returnarg0==arg1;
}
@Override
publicintgetItemPosition(Objectobject){
//TODOAuto-generatedmethodstub
returnsuper.getItemPosition(object);
}
@Override
publicvoiddestroyItem(Viewarg0,intarg1,Objectarg2){
//TODOAuto-generatedmethodstub
((ViewPager)arg0).removeView(list.get(arg1));
}
@Override
publicObjectinstantiateItem(Viewarg0,intarg1){
//TODOAuto-generatedmethodstub
((ViewPager)arg0).addView(list.get(arg1));
returnlist.get(arg1);
}
@Override
publicvoidrestoreState(Parcelablearg0,ClassLoaderarg1){
//TODOAuto-generatedmethodstub
}
@Override
publicParcelablesaveState(){
//TODOAuto-generatedmethodstub
returnnull;
}
@Override
publicvoidstartUpdate(Viewarg0){
//TODOAuto-generatedmethodstub
}
@Override
publicvoidfinishUpdate(Viewarg0){
//TODOAuto-generatedmethodstub
}
}
classMyListenerimplementsOnPageChangeListener{
@Override
publicvoidonPageScrollStateChanged(intarg0){
//TODOAuto-generatedmethodstub
}
@Override
publicvoidonPageScrolled(intarg0,floatarg1,intarg2){
//TODOAuto-generatedmethodstub
}
@Override
publicvoidonPageSelected(intarg0){
for(inti=0;i<imageViews.length;i++){
imageViews[arg0]
.setBackgroundResource(R.drawable.guide_dot_white);
if(arg0!=i){
imageViews[i]
.setBackgroundResource(R.drawable.guide_dot_black);
}
}
}
}
}

最后在提醒一句,不要忘記加入android-support-v4.jar這個jar包。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲天堂网站在线观看视频| 亚洲欧美激情视频| 久久精品99无色码中文字幕| 亲子乱一区二区三区电影| 日韩欧美亚洲一二三区| 国产精品美女主播在线观看纯欲| 亚洲精品电影网在线观看| 欧美日韩午夜视频在线观看| 精品国产一区二区三区四区在线观看| 91美女福利视频高清| 91高清视频免费| 欧美视频在线观看免费网址| 51久久精品夜色国产麻豆| 日韩黄色在线免费观看| 亚洲欧美一区二区三区在线| 日韩中文在线不卡| 亚洲欧洲在线播放| 午夜精品久久久久久久久久久久| 久久91超碰青草是什么| 日韩国产在线播放| 欧美中文字幕在线| 亚洲综合第一页| 51精品国产黑色丝袜高跟鞋| 欧美最顶级的aⅴ艳星| 国产日韩综合一区二区性色av| 日本精品视频网站| 亚洲欧美在线一区二区| 亚洲欧美在线看| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲色图第一页| 精品视频在线观看日韩| 欧美精品在线看| 欧美日韩国产精品一区| 国产视频丨精品|在线观看| 国产精品伦子伦免费视频| 欧美在线视频网| 亚洲最新av在线网站| 久久久久久国产精品三级玉女聊斋| 国产精品mp4| 亚洲精品乱码久久久久久金桔影视| 91免费看片网站| 国产精品久久久久一区二区| 国产精品一区久久久| 亚洲一区二区三区久久| 亚洲第一精品夜夜躁人人爽| 久热在线中文字幕色999舞| 欧美激情奇米色| 亚洲精品在线不卡| 欧美成人免费网| 成人h视频在线观看播放| 日韩中文在线观看| 成人性生交大片免费观看嘿嘿视频| 热99久久精品| 亚洲成人黄色网| 亚洲成色999久久网站| 亚洲免费影视第一页| 孩xxxx性bbbb欧美| 国产自摸综合网| 亚洲日本aⅴ片在线观看香蕉| 国产免费一区二区三区在线能观看| 日本三级韩国三级久久| 亚洲精品国产美女| 美女视频黄免费的亚洲男人天堂| 精品亚洲男同gayvideo网站| 国产一区二区三区直播精品电影| 亚洲国产精品女人久久久| 国产精品综合网站| 欧美国产精品人人做人人爱| 亚洲aⅴ日韩av电影在线观看| 久久久综合免费视频| 欧美午夜影院在线视频| 97久久超碰福利国产精品…| 亚洲天堂成人在线视频| 国产日韩欧美成人| 91在线免费网站| 综合国产在线观看| 91久久久久久久久久久| 性色av一区二区三区红粉影视| 欧美日韩另类视频| 日韩av综合中文字幕| 九九久久久久99精品| 亚洲精品中文字| 亚洲欧洲在线免费| 91久久精品国产91久久| 欧美日韩国产区| 2019国产精品自在线拍国产不卡| 九九久久久久久久久激情| 久久男人资源视频| 欧美高清在线视频观看不卡| 美女扒开尿口让男人操亚洲视频网站| 91精品在线播放| 成人高清视频观看www| 播播国产欧美激情| 一区二区中文字幕| 亚洲欧美色婷婷| 国产精品成人av性教育| 日本精品一区二区三区在线播放视频| 亚洲男人的天堂在线| 日韩中文字幕视频| 久久精品国产亚洲| 国产精品视频白浆免费视频| 中文字幕免费精品一区高清| 久久亚洲综合国产精品99麻豆精品福利| 欧美精品免费在线| 精品成人在线视频| 国产欧美韩国高清| 国模视频一区二区三区| 亚洲欧美另类人妖| 黑丝美女久久久| 国产精品成熟老女人| 国产小视频91| 国产一区二区欧美日韩| 亚洲美女又黄又爽在线观看| 国产精品吊钟奶在线| 日本精品视频在线| 国产99视频在线观看| 久久97精品久久久久久久不卡| 欧美精品videos| 国产亚洲欧美日韩一区二区| 一区二区三区久久精品| 国产日韩换脸av一区在线观看| 日本精品久久中文字幕佐佐木| 久久久免费精品视频| 色樱桃影院亚洲精品影院| 91在线免费观看网站| 国产视频福利一区| 欧美另类暴力丝袜| 91久久精品国产91久久性色| 国产主播在线一区| 久久影视电视剧凤归四时歌| 一本色道久久综合狠狠躁篇的优点| 欧美另类交人妖| 1769国内精品视频在线播放| 欧美激情日韩图片| 91手机视频在线观看| 热久久99这里有精品| 亚洲美女中文字幕| 国产精品久久久久久久久久久久久| 中文日韩在线视频| 性欧美在线看片a免费观看| 国产精品久久激情| 欧美激情videoshd| 欧美中文在线字幕| 亚洲社区在线观看| www.99久久热国产日韩欧美.com| 亚洲图片欧美日产| 美女av一区二区三区| 亚洲成avwww人| 国产精品黄色影片导航在线观看| 亚洲最大成人免费视频| 久久久午夜视频| 亚洲成人在线视频播放| 欧美精品成人91久久久久久久| 亚洲一区制服诱惑| 日韩精品中文字幕有码专区| 国产精品久久久av| 日韩电影免费观看在线| 亚洲视频日韩精品| 久久精品国产精品亚洲| 日本一区二区三区在线播放| 欧美最顶级丰满的aⅴ艳星| 97成人精品区在线播放| 国产精品网红直播| 自拍偷拍免费精品|