Android第二十天 ViewPager

2021-07-02 16:00:56 字數 2702 閱讀 4368

viewpager的使用步驟:

1.       在布局檔案中定義viewpager控制項

android:id="@+id/vp"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:text="@string/hello_world" />

2.       定義viewpager並例項化

viewpager=(viewpager) findviewbyid(r.id.vp);

3.       定義資料源

private listview_list= new arraylist();

private int arr_color = new int ;

for (int i = 0; i < 3; i++) {

textviewtextview = new textview(this);

textview.settext("第" + (i + 1) + "頁");

textview.setwidth(layoutparams.match_parent);

textview.setheight(layoutparams.match_parent);

textview.setbackgroundcolor(arr_color[i]);

view_list.add(textview);

4.       構建介面卡

public class myadapter extendspageradapter{

@override

publicint getcount() {

//todo auto-generated method stub

returnview_list.size();

@override

publicboolean

isviewfromobject(view arg0, object arg1) {

//todo auto-generated method stub

returnarg0==arg1;

@override

publicobject instantiateitem(viewgroup container, int position) {

//todo auto-generated method stub

container.addview(view_list.get(position));

returnview_list.get(position);

@override

publicvoid

destroyitem(viewgroup container, int position, objectobject) {

container.removeview(view_list.get(position));

5.       裝載資料介面卡

viewpager.setadapter(new myadapter());

6.       設定***

// 為viewpager新增***

viewpager.setonpagechangelistener(newonpagechangelistener() {

@override

*某一頁被選擇了,就會呼叫這個方法

*arg0頁的id

public voidonpageselected(int arg0) {

"arg0=" + arg0 + "被選擇了", 0)

// .show();

@override

* 當前頁面滾動的時候會呼叫這個方法,只要在滾動就會呼叫

* @param1:滾動頁面的id

* @param2:相對螢幕的位置值,這個還是相對值,以螢幕的物理尺寸為標準,

* @param3:相對螢幕的位置,但是它是絕對值,以畫素為單位

public voidonpagescrolled(int arg0, float arg1, int arg2) {

//"arg0=" + arg0 + "," + "arg1=" + arg1 +"," + "arg2="

// + arg2,0).show();

@override

*某個頁面的滾動狀態

*arg0是狀態

public voidonpagescrollstatechanged(int arg0) {

switch(arg0) {

caseviewpager.scroll_state_dragging:           //正在滾動的狀態

toast.maketext(mainactivity.this,"正在被拖動", 0).show();

break;

caseviewpager.scroll_state_idle:             //這個頁面消失了的狀態

toast.maketext(mainactivity.this,"消失了", 0).show();

break;

caseviewpager.scroll_state_settling:    // 滾動到最後(下乙個頁面馬上就要出來了)

toast.maketext(mainactivity.this,"到最後了", 0).show();

break;

default:

break;

第二十天 繼承

繼承指的是新建類的方法 新建的類稱之為子類或者派生類 子類繼承的類叫做父類,也 稱之為基類或超類 子類可以繼承父類的屬性 特徵與技能 並且可以派生出自己的屬性 特徵與技能 繼承的目的是為了減少 冗餘 減少重複 抽象指的是抽取相似的部分,稱之為抽象.物件是特徵與技能的結合體.類是一系列物件相同的特徵與...

Linux C學習第二十天

棧和佇列 棧 後進先出 新增元素 壓棧 刪除元素 出棧 棧的實現 1.順序棧。2.鏈式棧 棧最頂端的元素叫棧頂元素。順序棧 標頭檔案 ifndef stack h define stack h define size 10 typedef enum bool typedef int data typ...

python學習第二十天

1.多繼承 繼承 x是一種y的時候.可以使用繼承關係.is a 乙個類同時繼承多個類 python,c 孫悟空是一種猴子,還是一種神仙 2.經典類的mro 通過數型結構的深度優先遍歷 一條道走到黑 從左往右 3.新式類的mro 重點,難點 c3演算法 先拆分再合併 第一項的頭和後面所有項的尾進行比較...