یکی از روش های جا به جایی بین صفحات در طراحی اپلیکیشن با استفاده از فلاتر, PageView می باشد.
این جا به جایی از طریق کشیدن انگشت ها بروی صفحه نمایش اتفاق میافتد.
درباره جا به جایی در بین صفحات بصورت عادی قبلا صحبت کرده بودیم که میتونید از لینک زیر آن را مشاهده کنید.
ویجت PageView در فلاتر یک ویجت اسکرول افقی است که به شما این امکان را می دهد که بین چندین صفحه مختلف پیمایش کنید.
کاربردهای ویجت PageView:
نحوه استفاده از ویجت PageView:
نکات:
برای پیاده سازی این کار شما نیاز به PageViewController و یک PageView دارید.
PageViewController را داخل یک ویجت StateFul قرار دهید و آن را مقدار دهی کنید.
برای این کار میتونید به شکل زیر عمل کنید.
PageController _controller = PageController(
initialPage: 0,
);
میتونید درون متد init هم آن را مقدار دهی کنید.
در کد بالا مقدار initialPage را برابر صفر قرار دادیم که صفحه ابتدایی را مشخص می کند.
هر وقت خواستید PageViewController را غیر فعال کنید مثل اکثر مواقع میتونید به شکل زیر عمل کنید.
@override
void dispose() {
_controller.dispose();
super.dispose();
}
بعد از انجام تمام کارها باید controller و داخل PageView قرار بدیم و چندتا ویجت به عنوان فرزند برای نمایش دادن انتخاب کنیم.
PageView(
controller: _controller,
children: [
MyPage1Widget(),
MyPage2Widget(),
MyPage3Widget(),
],
)
کد کامل تر صفحه ما چیزی شبیه به این باید باشه.
class PageViewDemo extends StatefulWidget {
@override
_PageViewDemoState createState() => _PageViewDemoState();
}
class _PageViewDemoState extends State<pageviewdemo> {
PageController _controller = PageController(
initialPage: 0,
);
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return PageView(
controller: _controller,
children: [
MyPage1Widget(),
MyPage2Widget(),
MyPage3Widget(),
],
);
}
}
)
اگر خواستید نحوه جا به جایی در صفحات را از افقی به عمودی تغییر دهید با یک دستور به شکل زیر میتونید این کار و انجام دهید.
PageView(
controller: _controller,
scrollDirection: Axis.vertical,
children: [
MyPage1Widget(),
MyPage2Widget(),
MyPage3Widget(),
],
)
اگر در کنترلر مقدار viewportFraction را کمتر از 1 قرار دهید میتونید صفحه های مجاور خودتون و مشاده کنید.
در واقع با این کار کمی سرعت جا به جایی را پایین می آورید و کاربر متوجه این جا به جایی می شود.
PageController _controller = PageController(
initialPage: 0,
viewportFraction: 0.8
);
برای پیاده سازی PageView کتابخانه های مختلفی هم وجود دارند که بنابر نیاز میتونید از آنها استفاده کنید.
یکی از این کتابخانه ها Liquid swipe هست.
گیتهاب اکشن GitHub Actions یکی از ابزارهای گیتهاب است که به شما کمک میکنه تا…
اگر یک برنامه نویس فلاتر هستید و با از نسخه وب اپلیکیشن پروژتون استفاده میکنید…
به عنوان یک برنامه نویس فلاتر یا اندروید بعد از اتمام پروسه طراحی اپلیکیشن نیاز…
طراحی رابط کاربری اپلیکیشن پادکست خود را با استفاده از این کیت توسعه UI/UX فلاتر…
فایربیس، پلتفرمی قدرتمند از شرکت گوگل برای توسعه و مدیریت برنامههای موبایل و وب است.…
فلاتر یک فریم ورک برنامه نویسی چندسکویی است که این امکان را برای برنامه نویس…
View Comments
سلام ممنون از آموزشتون. روی کد ها که کلیک میشه خود به خود برمیگردیم به بالا و ابتدای صفحه ی سایت. این آزاردهندهس
سلام
مطالب قدیمی این مشکل و دارند که اکثرشون برطرف شده و مابقی به مرور برطرف میشه