知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
一起學(xué)android之ViewPager講解(11)
發(fā)表時(shí)間:2020-11-5
發(fā)布人:葵宇科技
瀏覽次數(shù):46
ViewPager的成不俗供給界萊強(qiáng)的效出有雅棘我們可能定義一組VIEW,正在當(dāng)前界里中盡行兩頭強(qiáng)它們。
利用ViewPager時(shí)我們必要以下預(yù)報(bào)兇
1、預(yù)笨嗍拍驥兇
<span style="font-size:18px;">PagerAdapter mPagerAdapter=new PagerAdapter() { @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0==arg1; } @Override public int getCount() { return viewList.size(); } @Override public void destroyItem(View container, int position, Object object) { // TODO Auto-generated method stub ((ViewPager)container).removeView(viewList.get(position)); } @Override public Object instantiateItem(View container, int position) { ((ViewPager)container).addView(viewList.get(position)); return viewList.get(position); } };</span>
看下 ViewPager的適拍媾鮒絕于PagerAdapter笨類,并茄翩現(xiàn)了以上多少種辦犯兇
判犢嗲可由東翁又娩界里
<span style="font-size:18px;">public boolean isViewFromObject(View arg0, Object arg1){}</span>
獲得當(dāng)前須銥吸示的總View肥
<span style="font-size:18px;">public int getCount() {}</span>
燒笨position掏諢的界里
<span style="font-size:18px;">public void destroyItem(View container, int position, Object object) {}</span>
初試化position掏諢的界里
<span style="font-size:18px;">public Object instantiateItem(View container, int position) {}</span>
2、注冊(cè)監(jiān)聽腳嗡
<span style="font-size:18px;">public class PageChangeListener implements OnPageChangeListener{ @Override public void onPageScrollStateChanged(int arg0) { } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageSelected(int arg0) { } } </span>
實(shí)現(xiàn)的辦犯兇
<span style="font-size:18px;">public void onPageScrollStateChanged(int arg0) {}</span>那個(gè)辦房嗟鄰自逢竄改的時(shí)辰調(diào)用,arg0共有三種自逢(0,1,2),當(dāng)為0時(shí),代表當(dāng)前甚么緊炒籩薊當(dāng)為1時(shí),代表正正在滑動(dòng);當(dāng)為2時(shí),代表滑動(dòng)結(jié)束。
<span style="font-size:18px;">public void onPageScrolled(int arg0, float arg1, int arg2) {}</span>那個(gè)辦房嗟鄰滑斗崮時(shí)辰調(diào)用,正在滑動(dòng)渡酒之峭宮一背脆持調(diào)用,arg0代表以背里擊滑動(dòng)的頁(yè)里,arg1代表頁(yè)里偏偏移的百非,arg2代表頁(yè)里偏偏移當(dāng)癟素掏諢
<span style="font-size:18px;">public void onPageSelected(int arg0) {}</span>那個(gè)辦房嗟鄰跳贅審調(diào)用,arg0是當(dāng)前選中的頁(yè)爛埽
接下啦鷚們實(shí)現(xiàn)微蟹市的上笆綁的界里,效出有雅來(lái)郝兇
[img]http://img.blog.csdn.net/20141230232652955?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFpX3FpbmdfeHVfa29uZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center [img]http://img.blog.csdn.net/20141230232701239?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFpX3FpbmdfeHVfa29uZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center [img]http://img.blog.csdn.net/20141230232709726?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFpX3FpbmdfeHVfa29uZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center [img]http://img.blog.csdn.net/20141230232726875?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFpX3FpbmdfeHVfa29uZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
[img]http://img.blog.csdn.net/20141230232725794?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFpX3FpbmdfeHVfa29uZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center [img]http://img.blog.csdn.net/20141230232741890?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFpX3FpbmdfeHVfa29uZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
login_anim.xml機(jī)閉文左孀
<span style="font-size:18px;"><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <android.support.v4.view.ViewPager android:id="@+id/vp_login" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" > </android.support.v4.view.ViewPager> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:layout_marginBottom="30dp" android:gravity="center_horizontal" > <ImageView android:id="@+id/iv_page0" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="matrix" android:src=http://www.sjsjw.com/100/000534MYM029217/"@drawable/page_now" />
膳春沔定義的寂ImageView便是效出有雅圖中當(dāng)甭圓的小圓里,背里經(jīng)過(guò)過(guò)程監(jiān)聽ViewPager的滑動(dòng)腳穩(wěn)ナ來(lái)竄鋼那啟些ImageView的放背醅來(lái)夸大當(dāng)前隱示的View。
<span style="font-size:18px;">public class LoginAnimActivity extends Activity implements OnClickListener{ private ViewPager vp_login; private ImageView iv_page0; private ImageView iv_page1; private ImageView iv_page2; private ImageView iv_page3; private ImageView iv_page4; private ImageView iv_page5; private Button btn_start; private int currIndex=0; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.login_anim); initView(); } private void initView(){ vp_login=(ViewPager)findViewById(R.id.vp_login);</span>
<span style="font-size:18px;"> //注冊(cè)監(jiān)聽腳嗡 vp_login.setOnPageChangeListener(new PageChangeListener()); iv_page0=(ImageView)findViewById(R.id.iv_page0); iv_page1=(ImageView)findViewById(R.id.iv_page1); iv_page2=(ImageView)findViewById(R.id.iv_page2); iv_page3=(ImageView)findViewById(R.id.iv_page3); iv_page4=(ImageView)findViewById(R.id.iv_page4); iv_page5=(ImageView)findViewById(R.id.iv_page5);</span>
<span style="font-size:18px;"> //綁犢嗍拍驥 vp_login.setAdapter(inflaterView()); } /* * 拆載肥據(jù)VIEW */ private PagerAdapter inflaterView(){</span>
<span style="font-size:18px;"> LayoutInflater layoutInflater=LayoutInflater.from(this); View view1=layoutInflater.inflate(R.layout.login_anim1, null);//那些view便勢(shì)兌們須銥吸示的 View view2=layoutInflater.inflate(R.layout.login_anim2, null); View view3=layoutInflater.inflate(R.layout.login_anim3, null); View view4=layoutInflater.inflate(R.layout.login_anim4, null); View view5=layoutInflater.inflate(R.layout.login_anim5, null); View view6=layoutInflater.inflate(R.layout.login_anim6, null); btn_start=(Button)view6.findViewById(R.id.btn_start); final ArrayList<View> viewList=new ArrayList<View>();//粗那些View放進(jìn)集卑中 viewList.add(view1); viewList.add(view2); viewList.add(view3); viewList.add(view4); viewList.add(view5); viewList.add(view6); PagerAdapter mPagerAdapter=new PagerAdapter() {//拆載那些View @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0==arg1; } @Override public int getCount() { return viewList.size(); } @Override public void destroyItem(View container, int position, Object object) { // TODO Auto-generated method stub ((ViewPager)container).removeView(viewList.get(position)); } @Override public Object instantiateItem(View container, int position) { ((ViewPager)container).addView(viewList.get(position)); return viewList.get(position); } }; return mPagerAdapter; } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_start://初步 break; default: break; } } public class PageChangeListener implements OnPageChangeListener{ @Override public void onPageScrollStateChanged(int arg0) { } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageSelected(int arg0) { switch (arg0) { case 0: iv_page0.setImageDrawable(getResources().getDrawable(R.drawable.page_now)); iv_page1.setImageDrawable(getResources().getDrawable(R.drawable.page)); break; case 1: iv_page1.setImageDrawable(getResources().getDrawable(R.drawable.page_now)); iv_page0.setImageDrawable(getResources().getDrawable(R.drawable.page)); iv_page2.setImageDrawable(getResources().getDrawable(R.drawable.page)); break; case 2: iv_page2.setImageDrawable(getResources().getDrawable(R.drawable.page_now)); iv_page1.setImageDrawable(getResources().getDrawable(R.drawable.page)); iv_page3.setImageDrawable(getResources().getDrawable(R.drawable.page)); break; case 3: iv_page3.setImageDrawable(getResources().getDrawable(R.drawable.page_now)); iv_page2.setImageDrawable(getResources().getDrawable(R.drawable.page)); iv_page4.setImageDrawable(getResources().getDrawable(R.drawable.page)); break; case 4: iv_page4.setImageDrawable(getResources().getDrawable(R.drawable.page_now)); iv_page3.setImageDrawable(getResources().getDrawable(R.drawable.page)); iv_page5.setImageDrawable(getResources().getDrawable(R.drawable.page)); break; case 5: iv_page5.setImageDrawable(getResources().getDrawable(R.drawable.page_now)); iv_page4.setImageDrawable(getResources().getDrawable(R.drawable.page)); break; default: break; } } } }</span>
login_anim1機(jī)閉文左孀
<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/w01" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="\n下啟\n是進(jìn)建斥地的最好道路" android:layout_alignParentTop="true" android:layout_marginTop="35dp" android:textSize="22sp" android:textColor="#fff"/> </RelativeLayout></span>
login_anim2機(jī)閉文左孀
<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:background="@drawable/w02" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="\n按住便能道話\n道天是如此復(fù)純沉緊" android:layout_alignParentTop="true" android:layout_marginTop="35dp" android:textSize="22sp" android:textColor="#fff" /> </RelativeLayout></span>
login_anim3機(jī)閉文左孀
<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:background="@drawable/w03" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="經(jīng)過(guò)過(guò)程視品四天\n牡掙至可能跟同慌春闈\n里劈里不同" android:layout_alignParentTop="true" android:layout_marginTop="35dp" android:textSize="22sp" android:textColor="#fff" /> </RelativeLayout></span>
login_anim4機(jī)閉文左孀
<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:background="@drawable/w04" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="搖一搖腳機(jī)\n大賦璐看鄰近的進(jìn)\n生悉更逗媚朋友" android:layout_alignParentTop="true" android:layout_marginTop="35dp" android:textSize="22sp" android:textColor="#fff" /> </RelativeLayout></span>
login_anim5機(jī)閉文左孀
<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:background="@drawable/w05" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="\n你借可能經(jīng)過(guò)過(guò)臣蠅伙圈\n跟同慌春愣討享彼此的逝世擺" android:layout_alignParentTop="true" android:layout_marginTop="35dp" android:textSize="22sp" android:textColor="#fff" /> </RelativeLayout></span>
login_anim6機(jī)閉文左孀
<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:background="@drawable/w01" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text=" \n \nOK,睹證下啟的能力伴" android:layout_alignParentTop="true" android:layout_marginTop="35dp" android:textSize="22sp" android:textColor="#fff" /> <Button android:id="@+id/btn_start" android:layout_width="120dp" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="120dp" android:text="初步" android:textSize="18sp" android:textColor="#fff" android:background="@drawable/btn_style_green" android:layout_gravity="center_vertical" /> </RelativeLayout></span>
孜撬說(shuō)門鯔處兇http://blog.csdn.net/hai_qing_xu_kong/article/details/42277073 感情控_
相關(guān)案例查看更多
相關(guān)閱讀
- 云南省建設(shè)廳官方網(wǎng)站
- 云南小程序代建
- 云南省住房建設(shè)廳網(wǎng)站
- 汽車報(bào)廢管理系統(tǒng)
- 微分銷
- 昆明網(wǎng)站開發(fā)
- 網(wǎng)站建設(shè)招商
- 網(wǎng)站建設(shè)特性
- 報(bào)廢車
- 云南網(wǎng)站建設(shè)招商
- 小程序開發(fā)
- 云南網(wǎng)站建設(shè)列表網(wǎng)
- 開通微信小程序被騙
- 汽車回收管理
- 云南網(wǎng)站開發(fā)哪家好
- 云南網(wǎng)站建設(shè)制作
- 昆明小程序定制開發(fā)
- 二叉樹
- 云南小程序開發(fā)課程
- 智慧農(nóng)貿(mào)市場(chǎng)
- 汽車報(bào)廢回收軟件
- 汽車拆解管理軟件
- 云南小程序哪家好
- 網(wǎng)絡(luò)公司哪家好
- 汽車回收管理系統(tǒng)
- typescript
- 小程序開發(fā)聯(lián)系方式
- 江蘇小程序開發(fā)
- 網(wǎng)站建設(shè)百度官方
- 企業(yè)網(wǎng)站