<
android.support.v4.view.viewpager
android:id="@+id/content"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
>
android.support.v4.view.viewpager
>
viewpager是乙個「容器」,可以承裝
view
物件,也可以承裝
fragment
載入顯示的頁卡:
將layout
布局轉換為
view
物件(1)layoutinflater if = getlayoutinflater().from(this);
if.inflate(resource,root);
(2)view.inflate(context,resource,root);
介面卡——配置adapter
(1)pageradapter 資料來源:
list
(2)fragmentpageradapter 資料來源:
list
(3)fragmentstatepageradapter 資料來源:
list
一、示例:
1、在activity
中新增viewpager
2、再分別建立幾頁
}4、自定義介面卡
public class mypageradapter extends pageradapter
/*** 返回頁卡數量
*/@override
public int getcount()
/*** view是否來自於物件
*/@override
public boolean isviewfromobject(view arg0, object arg1)
/*** 例項化乙個頁卡
*/@override
public object instantiateitem(viewgroup container, int position)
/*** 銷毀乙個頁卡
*/@override
public void destroyitem(viewgroup container, int position, object object)
}
如我有4
個頁卡,當我載入第二個頁卡時,是在同時例項化1、
2、3個,載入第三個時,同時例項化2、
3、4,銷毀第1個。
5、建立pager
並載入介面卡
public class mainactivity extends actionbaractivity
}
二、viewpager
的標題1、在布局中新增
viewpagerstrip
2、建立
viewpagerstrip
,載入標題,並修改
adapter
public class mainactivity extends actionbaractivity
}
3、修改adapter
public class mypageradapter extends pageradapter
@override
public int getcount()
@override
public boolean isviewfromobject(view arg0, object arg1)
@override
public object instantiateitem(viewgroup container, int position)
@override
public void destroyitem(viewgroup container, int position, object object)
@override//新增getpagetitle方法
/*** 設定頁卡標題
*/public charsequence getpagetitle(int position)
}
三、fragment
1、建立
fragment1
類 繼承
fragment
,並建立初始化介面的方法 oncreateview。我們建立3
個。
2、在mainactivity
中初始化資料來源
public class mainactivity extends fragmentactivity
}
3、自定義介面卡myfragmentpageradapter
public class myfragmentpageradapter extends fragmentpageradapter
@override
public fragment getitem(int arg0)
@override
public int getcount()
//補充getpagertitle方法
@override
public charsequence getpagetitle(int position)
}
p.s.如果介面卡繼承
fragmentstatepageradapter,
要加兩個方法完成建立和銷毀。
四、***
繼承onpagerchangelistener
public class mainactivity extends fragmentactivity implements onpagechangelistener
@override
public void onpagescrollstatechanged(int arg0)
@override
public void onpagescrolled(int arg0, float arg1, int arg2)
@override
public void onpageselected(int arg0)
}
ViewPager實現無限迴圈
從乙個方向上一直滑動。麼有滑到盡頭的感覺。詳細是怎麼實現的呢?看以下的思路。此處畫了一幅圖來表達實現無限迴圈的思路,即在資料起始位置前插入最後一項資料。在最後一項資料後插入第一項資料,當滑動到此處時。更新頁面的索引位置就ok了 這種方法用於資料處理,當中medialist是原始資料,newmedia...
ViewPager實現Fragment懶載入
通過在onpagechangelistener中呼叫懶載入,當fragment切換到下乙個或者切換中進行懶載入。1 先寫乙個介面 原因 1 隔離具體實現 不依賴具體fragment,否則在用的時候就需要乙個乙個對具體實現進行判斷 2 僅處理需要懶載入的fragment public inte ce ...
ViewPager實現左右滑動2014 08 31
實現步驟 1 布局檔案新增 android.support.v4.view.viewpager確定區域 2 建立viewpager mviewpager物件 mviewpager viewpager findviewbyid r.id.main viewpager 3 建立hashmapmap容器 ...