最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android開發(fā)中ViewPager實(shí)現(xiàn)多頁(yè)面切換效果

 更新時(shí)間:2016年11月21日 16:43:58   作者:willba  
ViewPager用于實(shí)現(xiàn)多頁(yè)面的切換效果,該類存在于Google的兼容包里面,所以在引用時(shí)記得在BuilldPath中加入“Android-support-v4.jar”。具體詳情大家可以參考下本文

ViewPager用于實(shí)現(xiàn)多頁(yè)面的切換效果,該類存在于Google的兼容包里面,所以在引用時(shí)記得在BuilldPath中加入“Android-support-v4.jar”

首先必須知道:要使用ViewPager,必須要使用PagerAdapter為其提供數(shù)據(jù),也就必須實(shí)現(xiàn)下面四個(gè)方法:

1, getCount():ViewPager需要顯示的頁(yè)面?zhèn)€數(shù)

2,isViewFromObject(View view, Object object):view 是某個(gè)位置的頁(yè)面,Object是 instantiateItem 方法返回的。在這個(gè)方法需要判斷這頁(yè)面與Object對(duì)象是

否是同一個(gè)對(duì)象。

3,instantiateItem(ViewGroup Container, int position):生成對(duì)應(yīng)位置的頁(yè)面,container 就是顯示頁(yè)面的容器,position 就是對(duì)應(yīng)的頁(yè)面的序號(hào)

4,destroyItem(ViewGroup container, int position, Object object):將指定頁(yè)面銷毀

其實(shí)現(xiàn)代碼”如下”:

1,直接在布局文件中引入ViewPager

注意:必須要導(dǎo)入其依賴包android.support.v4

<android.support.v4.view.ViewPager
android:id="@+id/up"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</android.support.v4.view.ViewPager>

2,自定義一個(gè)適配器繼承于PagerAdapter,并覆寫其四個(gè)方法

public class MyPagerAdapter extends PagerAdapter {
private Context mContext;
private int[] mResId;
public MyPagerAdapter(Context context, int[] resId) {
this.mContext = context;
this.mResId = resId;
}
//設(shè)置內(nèi)部pager頁(yè)面的數(shù)量
@Override
public int getCount() {
return mResId.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
//判斷頁(yè)面與object是否是同一個(gè)對(duì)象
return view == object;
}
//必須重新覆寫instaniateItem()和destroyItem()二個(gè)方法才能進(jìn)行展示
@Override
public Object instantiateItem(ViewGroup container, int position) {
View view = View.inflate(mContext, R.layout.item, null);
View iv_item = view.findViewById(R.id.iv_item);
iv_item.setBackgroundResource(mResId[position]);
//必須將填充出來(lái)的view添加到ViewGroup中去,其container表示當(dāng)前頁(yè)面的容器
container.addView(view);
return view;
}
//不使用的時(shí)候,將其銷毀
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
//父類實(shí)現(xiàn)的方法是拋異常(源碼)
// super.destroyItem(container, position, object);
container.removeView((View) object);
}
}

3,activity中實(shí)現(xiàn)其邏輯

public class MainActivity extends Activity {
private ViewPager mUp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initeView();
initData();
}
private void initData() {
int[] resId = new int[]{R.drawable.shi, R.drawable.ni, R.drawable.haha};
//給ViewPager設(shè)置內(nèi)容
MyPagerAdapter adapter = new MyPagerAdapter(getApplicationContext(), resId);
mUp.setAdapter(adapter);
}
private void initeView() {
mUp = (ViewPager) findViewById(R.id.up);
}
}

以上所述是小編給大家介紹的Android開發(fā)中ViewPager實(shí)現(xiàn)多頁(yè)面切換效果,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論

平顶山市| 文登市| 淳化县| 晴隆县| 自治县| 博白县| 铜陵市| 灵宝市| 贡山| 化德县| 旺苍县| 杭锦后旗| 台江县| 拉萨市| 广汉市| 东乌| 邮箱| 邓州市| 常州市| 阜宁县| 泾阳县| 固始县| 孝义市| 鹤山市| 福鼎市| 安达市| 崇文区| 乌拉特后旗| 龙海市| 酉阳| 大化| 云浮市| 南丹县| 中阳县| 清流县| 稻城县| 开阳县| 交口县| 滦南县| 阿鲁科尔沁旗| 台湾省|