




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第AndroidFlutter實(shí)現(xiàn)視頻上滑翻頁效果的示例代碼目錄前言PageView組件介紹使用示例PageController應(yīng)用
前言
我們在短視頻應(yīng)用中經(jīng)常會看到不停上滑瀏覽下一條視頻的沉浸式交互效果,這種交互能夠讓用戶不停地翻頁,直到找到喜歡的視頻內(nèi)容,從而營造一種不斷搜尋目標(biāo)的感覺,讓用戶欲罷不能。這種交互形式在Flutter中可以輕松使用PageView組件實(shí)現(xiàn)。
PageView組件介紹
PageView組件專門設(shè)計(jì)用來實(shí)現(xiàn)翻頁效果,類定義如下:
PageView({
Keykey,
this.scrollDirection=Axis.horizontal,
this.reverse=false,
PageControllercontroller,
this.physics,
this.pageSnapping=true,
this.onPageChanged,
ListWidgetchildren=constWidget[],
this.dragStartBehavior=DragStartBehavior.start,
this.allowImplicitScrolling=false,
this.restorationId,
this.clipBehavior=Clip.hardEdge,
this.scrollBehavior,
this.padEnds=true,
})
其中常用的屬性說明如下:
scrollDirection:滑動方向,可以支持縱向翻頁或橫向翻頁,默認(rèn)是橫向翻頁。controller:翻頁控制器,可以通過控制器來制定初始頁,以及跳轉(zhuǎn)到具體的頁面。onPageChanged:翻頁后的回調(diào)函數(shù),會告知翻頁后的頁碼。reverse:是否反向翻頁,默認(rèn)是false。如果橫向滑動翻頁的話,如果開啟反向翻頁,則是從右到左翻頁。如果是縱向翻頁的話,就是從頂部到底部翻頁。children:在翻頁中的組件列表,每一頁都以自定義組件內(nèi)容,因此這個組件也可以用于做引導(dǎo)頁,或是類似滑動查看詳情的效果。
使用示例
PageView使用起來非常簡單,我們先定義一個PageView翻頁的內(nèi)容組件,簡單地將接收的圖片文件滿屏顯示。代碼如下,實(shí)際應(yīng)用的時候可以根據(jù)需要換成其他自定義組件。
classImagePageViewextendsStatelessWidget{
finalStringimageName;
constImagePageView({Keykey,requiredthis.imageName}):super(key:key);
@override
Widgetbuild(BuildContextcontext){
returnScaffold(
body:Image.asset(
imageName,
fit:BoxFit.fitHeight,
width:MediaQuery.of(context).size.width,
height:MediaQuery.of(context).size.height,
}
之后是定義一個PageViewDemo來應(yīng)用PageView翻頁應(yīng)用示例,代碼如下:
classPageViewDemoextendsStatefulWidget{
constPageViewDemo({Keykey}):super(key:key);
@override
StatePageViewDemocreateState()=_PageViewDemoState();
class_PageViewDemoStateextendsStatePageViewDemo{
latePageController_pageController;
int_pageIndex=1;
@override
voidinitState(){
_pageController=PageController(
initialPage:_pageIndex,
viewportFraction:1.0,
super.initState();
@override
Widgetbuild(BuildContextcontext){
returnScaffold(
backgroundColor:Colors.black,
body:PageView(
scrollDirection:Axis.vertical,
onPageChanged:(index){
_pageIndex=index;
controller:_pageController,
allowImplicitScrolling:false,
padEnds:true,
reverse:false,
children:const[
ImagePageView(imageName:'images/earth.jpeg'),
ImagePageView(imageName:'images/island-coder.png'),
ImagePageView(imageName:'images/mb.jpeg'),
}
這個示例里,我們的pageController只是演示了設(shè)置初始頁碼。我們看到的viewportFraction可以理解為一頁內(nèi)容占據(jù)屏幕的比例,比如我們可以設(shè)置該數(shù)值為1/3,支持一個屏幕分段顯示3個頁面內(nèi)容。
PageController應(yīng)用
PageController可以控制滑動到指定位置,比如我們可以調(diào)用animateToPage方法實(shí)現(xiàn)一個快速滑動到頂部的懸浮按鈕。
floatingActionButton:FloatingActionButton(
onPressed:(){
_pageController.animateToPage(
duration:constDuration(
milliseconds:1000,
curve:Curves.easeOut,
backgroundColor:Colors.black.withAlpha(180),
child:constIcon(
Icons.arrow_upward,
color:Colors.white,
),
實(shí)現(xiàn)效果如下。
Page
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療倫理在藥物研發(fā)中的體現(xiàn)
- 醫(yī)學(xué)人才梯隊(duì)建設(shè)從模擬到實(shí)戰(zhàn)的技能培養(yǎng)路徑
- 醫(yī)療安全管理與醫(yī)患關(guān)系和諧發(fā)展
- 醫(yī)療大數(shù)據(jù)下的健康保險服務(wù)創(chuàng)新
- 利用智能合約和去中心化存儲實(shí)現(xiàn)更安全的數(shù)字版權(quán)管理
- 《信息技術(shù)與學(xué)科教學(xué)融合》心得體會模版
- 安全生產(chǎn)工作總結(jié)模版
- 醫(yī)療AI研發(fā)中的知識產(chǎn)權(quán)合規(guī)培訓(xùn)
- 辦公空間中的智能化手術(shù)室設(shè)計(jì)探討
- 醫(yī)療科技公司如何平衡數(shù)據(jù)利用與用戶隱私權(quán)保護(hù)
- 咸寧叉車考試題及答案
- 社工證考試試題及答案
- 渣土公司運(yùn)輸車輛管理制度
- 2025年云南專升本招生計(jì)劃
- YY頻道模板文檔
- 汽車營銷專業(yè)畢業(yè)論文
- 2025年中國VOC治理市場深度評估研究報(bào)告
- 2025年寬帶網(wǎng)絡(luò)拓展合作協(xié)議書
- 教學(xué)主管競聘培訓(xùn)機(jī)構(gòu)
- 【9語期末】黃山市歙縣2024-2025學(xué)年九年級上學(xué)期期末語文試題
- 計(jì)算機(jī)wps一級excel操作題單選題100道及答案
評論
0/150
提交評論