代碼實(shí)現(xiàn):

1.布局代碼:activity_view_pager.xml

```handlebars<?xml version=&#34;1.0&#34; enco" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營(yíng)銷資訊 > 網(wǎng)站運(yùn)營(yíng) > 直播視頻網(wǎng)站源碼,使用ViewPager實(shí)現(xiàn)基本的翻頁效果

直播視頻網(wǎng)站源碼,使用ViewPager實(shí)現(xiàn)基本的翻頁效果

時(shí)間:2023-09-06 08:12:02 | 來源:網(wǎng)站運(yùn)營(yíng)

時(shí)間:2023-09-06 08:12:02 來源:網(wǎng)站運(yùn)營(yíng)

直播視頻網(wǎng)站源碼,使用ViewPager實(shí)現(xiàn)基本的翻頁效果:直播視頻網(wǎng)站源碼,使用ViewPager實(shí)現(xiàn)基本的翻頁效果實(shí)現(xiàn)的相關(guān)代碼

代碼實(shí)現(xiàn):

1.布局代碼:activity_view_pager.xml

```handlebars<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".ViewPagerActivity"> <androidx.viewpager.widget.ViewPager android:id="@+id/view_pager" android:layout_width="match_parent" android:layout_height="match_parent" /></LinearLayout>```1.1.viewpager1.xml

```handlebars<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#CF1717" android:gravity="center"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="第一個(gè)layout" android:textSize="20sp" /></LinearLayout>```另外兩個(gè)xml同理

2.MainActivity代碼如下:

```handlebarspublic class ViewPagerActivity extends AppCompatActivity { private ViewPager view_pager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_view_pager); view_pager = findViewById(R.id.view_pager); View inflate1 = LayoutInflater.from(this).inflate(R.layout.viewpager1, null); View inflate2 = LayoutInflater.from(this).inflate(R.layout.viewpager2, null); View inflate3 = LayoutInflater.from(this).inflate(R.layout.viewpager3, null); List<View> viewList = new ArrayList<>(); viewList.add(inflate1); viewList.add(inflate2); viewList.add(inflate3); MyAdapter myAdapter = new MyAdapter(viewList); view_pager.setAdapter(myAdapter); }} ```2.1.適配器MyAdapter代碼如下:

```handlebarspublic class MyAdapter extends PagerAdapter { private List<View> viewList; public MyAdapter(List<View> viewList) { this.viewList = viewList; } //獲取多少View @Override public int getCount() { return viewList.size(); } @Override public boolean isViewFromObject(@NonNull View view, @NonNull Object object) { return view == object; } @NonNull @Override public Object instantiateItem(@NonNull ViewGroup container, int position) { container.addView(viewList.get(position), 0); return viewList.get(position); } @Override public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { container.removeView(viewList.get(position)); }}```


分析:

PagerAdapter主要是viewpager的適配器,可以實(shí)現(xiàn)控件的滑動(dòng)效果。

繼承PagerAdapter至少重寫四個(gè)方法。




1getCount():獲得viewpager中有多少個(gè)view




2instantiateItem():參數(shù)1:將給定位置的view添加到viewpager(容器中)創(chuàng)建并顯示出來 。

返回值:返回一個(gè)代表新增頁面的object(key),通常都是直接返回view本身就可以了,當(dāng)然你也可以自定義自己的key,但是key和每個(gè)view要是一一對(duì)應(yīng)的關(guān)系。




3isViewFromObject():判斷instantiateItem(ViewGroup,int)函數(shù)所返回來的key與一個(gè)頁面視圖是否是代表的同一個(gè)視圖(即它倆是否是對(duì)應(yīng)的,對(duì)應(yīng)的表示同一個(gè)view)通常我們直接寫 return view==object;




4destroyItem():移除一個(gè)給定位置的頁面,適配器有責(zé)任從容器中刪除這個(gè)視圖,這是為了確保在finishUpdate(viewGroup)返回時(shí)視圖能夠被移除。

以上就是直播視頻網(wǎng)站源碼,使用ViewPager實(shí)現(xiàn)基本的翻頁效果實(shí)現(xiàn)的相關(guān)代碼, 更多內(nèi)容歡迎關(guān)注之后的文章

關(guān)鍵詞:基本,實(shí)現(xiàn),效果,使用,視頻,直播

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉