国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android開發中ViewPager實現多頁面切換效果

2019-12-12 04:33:44
字體:
來源:轉載
供稿:網友

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

首先必須知道:要使用ViewPager,必須要使用PagerAdapter為其提供數據,也就必須實現下面四個方法:

1, getCount():ViewPager需要顯示的頁面個數

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

否是同一個對象。

3,instantiateItem(ViewGroup Container, int position):生成對應位置的頁面,container 就是顯示頁面的容器,position 就是對應的頁面的序號

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

其實現代碼”如下”:

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

注意:必須要導入其依賴包android.support.v4

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

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

public class MyPagerAdapter extends PagerAdapter {private Context mContext;private int[] mResId;public MyPagerAdapter(Context context, int[] resId) {this.mContext = context;this.mResId = resId;}//設置內部pager頁面的數量@Overridepublic int getCount() {return mResId.length;}@Overridepublic boolean isViewFromObject(View view, Object object) {//判斷頁面與object是否是同一個對象return view == object;}//必須重新覆寫instaniateItem()和destroyItem()二個方法才能進行展示@Overridepublic 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]);//必須將填充出來的view添加到ViewGroup中去,其container表示當前頁面的容器container.addView(view);return view;}//不使用的時候,將其銷毀@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {//父類實現的方法是拋異常(源碼)// super.destroyItem(container, position, object);container.removeView((View) object);}}

3,activity中實現其邏輯

public class MainActivity extends Activity {private ViewPager mUp;@Overrideprotected 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設置內容MyPagerAdapter adapter = new MyPagerAdapter(getApplicationContext(), resId);mUp.setAdapter(adapter);}private void initeView() {mUp = (ViewPager) findViewById(R.id.up);}}

以上所述是小編給大家介紹的Android開發中ViewPager實現多頁面切換效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浪卡子县| 徐水县| 昌乐县| 福州市| 南靖县| 海盐县| 大悟县| 独山县| 临澧县| 霍林郭勒市| 澄城县| 西和县| 萨嘎县| 安仁县| 石棉县| 民县| 顺平县| 全椒县| 黔西县| 沁水县| 崇阳县| 鞍山市| 福清市| 长汀县| 来安县| 和林格尔县| 山阴县| 图木舒克市| 肥东县| 三河市| 开原市| 临洮县| 五华县| 昂仁县| 黎城县| 信丰县| 中江县| 青铜峡市| 张家港市| 平阳县| 尤溪县|