亚洲精品一二区_国产黄色片网站_99久久久成人国产精品_蜜臀网_国产精品一区二区三区免费_成人av中文字幕_91精品国产欧美一区二区成人

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > ViewPager介紹和使用說明

ViewPager介紹和使用說明 時間:2018-09-20      來源:未知

ViewPager類提供了多界面切換的新效果。新效果有如下特征:

[1] 當前顯示一組界面中的其中一個界面。

[2] 當用戶通過左右滑動界面時,當前的屏幕顯示當前界面和下一個界面的一部分。

[3]滑動結束后,界面自動跳轉到當前選擇的界面中。

引用ViewPager控件

ViewPager來源于google 的補充組件android-support-v13.jar,位置在androidSDK文件夾android-sdk-windows\extras\android\compatibility\v13 下將android-support-v13.jar 引用到項目中

下面我們用功能代碼來實現效果:

@ MainActivity.java

package cn.com.farsight;

import java.util.ArrayList;

import java.util.List;

import android.app.Activity;

import android.media.Image;

import android.os.Bundle;

import android.support.v4.view.PagerAdapter;

import android.support.v4.view.ViewPager;

import android.view.View;

import android.view.ViewGroup;

import android.widget.ImageView;

public class MainActivity extends Activity {

/* 先說明一下實現ViewPager的兩種形式。

* 第一種導入第三方jar包,包的名字是android-support-v4.jar

* 第二種就是應用功能性代碼直接實現,在開發當中這種方法已經不用了

*

* android-support-v4.jar在 android3.0 以后出現的。

*

* 我們只要用到adapter就要想到三個步驟:

* 1.初始化控件;

* 2.初始化數據源;

* 3.初始化適配器,往適配器里填充數據。

*

* 首先在布局文件中。

* 這里我們運用第三方的jar包,沒有提示功能,所以同學們要記住這屆jar包,在開發當中我們經常使用。

*

首先,如果繼承pageradapter,至少必須重寫下面的四個方法

1. instantiateItem(ViewGroup, int)

2. destroyItem(ViewGroup, int, Object)

3. getCount()

4. isViewFromObject(View, Object)

*

*/

private List list;

private ViewPager mViewPager;

private TestAdapter adapter;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//new Thread()

//初始化控件

mViewPager = (ViewPager) findViewById(R.id.pager);

//初始化數據源,把數據添加到list集合中,

list = new ArrayList();

ImageView iv1 = new ImageView(this);

iv1.setImageResource(R.drawable.huonv);

list.add(iv1);

ImageView iv2 = new ImageView(this);

iv2.setImageResource(R.drawable.shuiren);

list.add(iv2);

ImageView iv3 = new ImageView(this);

iv3.setImageResource(R.drawable.xuemo);

list.add(iv3);

/初始化適配器

adapter = new TestAdapter();

//連接數據與適配器,把數據顯示到adapter上

mViewPager.setAdapter(adapter);

}

private class TestAdapter extends PagerAdapter{

//計算頁卡數量

// 獲取要滑動的控件的數量,在這里我們以滑動的頁卡為例,那么這里就應該是展示的頁卡圖片的ImageView數量

@Override

public int getCount() {//這個方法,是獲取當前窗體界面數

// TODO Auto-generated method stub

return list.size();//返回頁卡的數量

}

//而isViewFromObject方法是用來判斷pager的一個view是否和instantiateItem方法返回的object有關聯

/* ViewPager源碼,你去看下addNewItem方法,會找到instantiateItem的使用方法,注意這里的mItems變量。

* 然后你再搜索下isViewFromObject,會發現其被infoForChild方法調用,返回值是ItemInfo。再去看下ItemInfo的結構,

* 其中有一個object對象,該值就是instantiateItem返回的。

*

*

* 也就是說,ViewPager里面用了一個mItems(ArrayList)來存儲每個page的信息(ItemInfo),

* 當界面要展示或者發生變化時,需要依據page的當前信息來調整,但此時只能通過view來查找,

* 所以只能遍歷mItems通過比較view和object來找到對應的ItemInfo。

*

*/

// 來判斷顯示的是否是同一張圖片,這里我們將兩個參數相比較返回即可

@Override

public boolean isViewFromObject(View arg0, Object arg1) {

// TODO Auto-generated method stub

return arg0 == arg1;

}

// PagerAdapter只緩存三張要顯示的圖片,如果滑動的圖片超出了緩存的范圍,就會調用這個方法,將圖片銷毀

@Override

public void destroyItem(ViewGroup container, int position, Object object) {

//super.destroyItem(container, position, object);

container.removeView(list.get(position));

}

//這個方法,return一個對象,這個對象表明了PagerAdapter適配器選擇哪個對象*放在當前的ViewPager中

//這個方法用來實例化頁卡

// 用這個方法當要顯示的圖片可以進行緩存的時候,會調進行顯示圖片的初始化,我們將要顯示的ImageView加入到ViewGroup中,然后作為返回值返回即可

@Override

public Object instantiateItem(ViewGroup container, int position) {

container.addView(list.get(position));//添加頁卡

return list.get(position);

}

}

}

布局文件

@activity_main.xml

xmlns:tools="//schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context=".MainActivity"

<>

android:id="@+id/pager"

android:layout_width="fill_parent"

android:layout_height="match_parent"/>

 

這樣我們的ViewPager就介紹完了。希望你們能夠喜歡。

上一篇:Android USB Host與HID 通訊(二)

下一篇:使用unix域套接字在進程之間傳遞文件描述符

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 日本色www | 久久伊人免费 | 日本在线播放视频 | 欧美日一级片 | 欧美一区网站 | 久久久久亚洲日日精品 | 午夜不卡影院 | 成人精品久久 | 六月激情婷婷 | 精品女同一区二区三区免费站 | 亚洲日韩欧洲无码av夜夜摸 | 欧美日韩在线免费观看 | 日日摸夜夜添夜夜添aa | 美国三级在线观看 | 日本wwwxxxx| 免费看麻豆视频 | 青青青免费高清在线观看视频在线 | 美女又黄又免费 | 欧美午夜色大片在线观看免费 | 亚洲综合色婷婷在线观看 | 免费国产成人午夜私人影视 | 人人看人人澡 | 免费欧美视频 | 九月婷婷综合 | a毛片a毛片a视频 | 国产成人综合一区人人 | jizz在线播放 | 欧美日韩亚洲一区二区三区在线观看 | 国产成人啪午夜精品网站 | 国产夫妻精品 | 亚洲精品免费视频 | 精品久久亚洲一级α | jizz亚洲日本jizz| 香蕉视频一区 | 国产精品亚洲精品 | 一区在线免费观看 | 久久成人精品免费播放 | 久热草视频 | 日本高清网址 | 看全色黄大色黄大片免责看的 | www.亚洲天堂 |