By using this site, you agree to the Privacy Policy and Terms of Use.
موافق
عرب فلاترعرب فلاتر
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
قراءة: شرح استخدام TabBar و TabBarView في فلاتر
شارك
تسجيل الدخول
إشعار أظهر المزيد
Aa
عرب فلاترعرب فلاتر
Aa
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
Search

أقسام الموقع

استكشف جميع أقسام الموقع
قسم Dart في موقع عرب فلاتر

Dart

59 مقالات
قسم Widgets في موقع عرب فلاتر

Widgets

104 مقالات
قسم Packages في موقع عرب فلاتر

Packages

19 مقالات
قسم Tutorials في موقع عرب فلاتر

Tutorials

22 مقالات

أخر المواضيع

استكشف أخر المواضيع المنشورة
شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
Tutorials

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا

5
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
Tutorials

حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر

10
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
Tutorials

أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات

17
لديك حساب موجود؟ تسجيل الدخول
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
© جميع الحقوق محفوظة موقع عرب فلاتر 2023
عرب فلاتر > Widgets > شرح استخدام TabBar و TabBarView في فلاتر
Widgets

شرح استخدام TabBar و TabBarView في فلاتر

عبدالله يوسف
أخر تحديث 2024/11/15
بواسطة عبدالله يوسف اضف تعليق 6 دقيقة للقراءة 3558 مشاهدات 4
شارك
شرح استخدام TabBar و TabBarView في فلاتر
شرح استخدام TabBar و TabBarView في فلاتر
شارك

خدماتنا البرمجية – عرب فلاتر🚀

خدماتنا البرمجية – عرب فلاتر

تطبيقات الهواتف الذكية تتضمن عادة شريط تبويبات (TabBar) الذي يسهل التنقل بين الصفحات وترتيب المحتوى. في Flutter، يمكن استخدام TabBar و TabBarView لتنظيم المحتوى وتسهيل التنقل بين الصفحات. في هذه المقالة، سنتحدث عن كيفية استخدام TabBar و TabBarView في تطبيقات Flutter وسنقدم شرحًا تفصيليًا لجميع خصائصهما.

المحتويات
ما هو TabBar و TabBarView؟خصائص TabBar في فلاترtabscontrollerisScrollableindicatorColorindicatorWeightlabelColorlabelStyleخصائص TabBarViewcontrollerchildrenphysicsمثال على استخدام TabBar و TabBarView في فلاتر

ما هو TabBar و TabBarView؟

TabBar و TabBarView هما عناصر واجهة المستخدم في Flutter تستخدم لتنظيم المحتوى وتسهيل التنقل بين الصفحات. يتم استخدام TabBar لعرض علامات التبويب التي يمكن للمستخدم النقر عليها للانتقال إلى صفحة معينة. ويتم استخدام TabBarView لعرض محتوى الصفحات المختلفة التي تتبع علامات التبويب.


خصائص TabBar في فلاتر

تتضمن خصائص TabBar الرئيسية التالية:

tabs

يتم استخدام الخاصية tabs لتحديد عدد العلامات التبويب ومحتوياتها. يجب أن يكون هذا الخيار قائمة من عناصر Tab على النحو التالي:

TabBar(
  tabs: [
    Tab(icon: Icon(Icons.home), text: 'Home'),
    Tab(icon: Icon(Icons.search), text: 'Search'),
    Tab(icon: Icon(Icons.person), text: 'Profile'),
  ],
)

“اقرأ أيضاً: شرح استخدام ويدجت SnackBar في فلاتر“

controller

يتم استخدام خاصية controller لربط TabBar بـ TabBarView. يتم تمريره إلى كلا العنصرين الرئيسيين TabBar و TabBarView. يمكن استخدام هذه الخاصية لتحديد علامة التبويب الحالية أو تغيير العلامة التبويبية برمجيًا.

TabController _tabController;

@override
void initState() {
  super.initState();
  _tabController = TabController(length: 3, vsync: this);
}

@override
void dispose() {
  _tabController.dispose();
  super.dispose();
}

...

TabBar(
  controller: _tabController,
  tabs: [
    Tab(icon: Icon(Icons.home), text: 'Home'),
    Tab(icon: Icon(Icons.search), text: 'Search'),
    Tab(icon: Icon(Icons.person), text: 'Profile'),
  ],
),

TabBarView(
  controller: _tabController,
  children: [
    HomeTab(),
    SearchTab(),
    ProfileTab(),
  ],
),

“اقرأ أيضاً: شرح استخدام ويدجت WillPopScope في فلاتر“

isScrollable

يتم استخدام خاصية isScrollable لتحديد ما إذا كانت علامات التبويب يمكن أن تتحرك على محور الأفق أو لا. عندما تكون قيمة هذه الخاصية true، يمكن لعلامات التبويب العرض في أكثر من سطر.

TabBar(
  isScrollable: true,
  tabs: [
    Tab(icon: Icon(Icons.home), text: 'Home'),
    Tab(icon: Icon(Icons.search), text: 'Search'),
    Tab(icon: Icon(Icons.person), text: 'Profile'),
    Tab(icon: Icon(Icons.settings), text: 'Settings'),
    Tab(icon: Icon(Icons.help), text: 'Help'),
    Tab(icon: Icon(Icons.info), text: 'Info'),
  ],
)

indicatorColor

يتم استخدام خاصية indicatorColor لتحديد لون شريط الإشارة الذي يظهر تحت العلامة التبويبية الحالية.

TabBar(
  indicatorColor: Colors.red,
  tabs: [
    Tab(icon: Icon(Icons.home), text: 'Home'),
    Tab(icon: Icon(Icons.search), text: 'Search'),
    Tab(icon: Icon(Icons.person), text: 'Profile'),
  ],
)

indicatorWeight

يتم استخدام خاصية indicatorWeight لتحديد سمك شريط الإشارة الذي يظهر تحت العلامة التبويبية الحالية.

TabBar(
  indicatorWeight: 4.0,
  tabs: [
    Tab(icon: Icon(Icons.home), text: 'Home'),
    Tab(icon: Icon(Icons.search), text: 'Search'),
    Tab(icon: Icon(Icons.person), text: 'Profile'),
  ],
)

labelColor

يتم استخدام خاصية labelColor لتحديد لون نص العلامة التبويبية الحالية.

TabBar(
  labelColor: Colors.red,
  tabs: [
    Tab(icon: Icon(Icons.home), text: 'Home'),
    Tab(icon: Icon(Icons.search), text: 'Search'),
    Tab(icon: Icon(Icons.person), text: 'Profile'),
  ],
)

labelStyle

يتم استخدام خاصية labelStyle لتحديد نمط النص الخاص بالعلامة التبويبية الحالية.

TabBar(
  labelStyle: TextStyle(fontWeight: FontWeight.bold),
  tabs: [
    Tab(icon: Icon(Icons.home), text: 'Home'),
    Tab(icon: Icon(Icons.search), text: 'Search'),
    Tab(icon: Icon(Icons.person), text: 'Profile'),
  ],
)

خصائص TabBarView

تتضمن خصائص TabBarView الرئيسية التالية:

controller

يتم استخدام خاصية controller لربط TabBarView بـ TabBar.

TabController _tabController;

@override
void initState() {
  super.initState();
  _tabController = TabController(length: 3, vsync: this);
}

@override
void dispose() {
  _tabController.dispose();
  super.dispose();
}

...

TabBar(
  controller: _tabController,
  tabs: [
    Tab(icon: Icon(Icons.home), text: 'Home'),
    Tab(icon: Icon(Icons.search), text: 'Search'),
    Tab(icon: Icon(Icons.person), text: 'Profile'),
  ],
),

TabBarView(
  controller: _tabController,
  children: [
    HomeTab(),
    SearchTab(),
    ProfileTab(),
  ],
),

children

يتم استخدام خاصية children لتحديد عدد صفحات العرض التي تتبع علامات التبويب.

TabBarView(
  children: [
    HomeTab(),
    SearchTab(),
    ProfileTab(),
  ],
),

physics

يتم استخدام خاصية physics لتحديد نوع التمرير في صفحات العرض. يمكن استخدام هذه الخاصية لتمكين أو تعطيل التمرير.

TabBarView(
  physics: NeverScrollableScrollPhysics(),
  children: [
    HomeTab(),
    SearchTab(),
    ProfileTab(),
  ],
),

مثال على استخدام TabBar و TabBarView في فلاتر

اليك مثال كامل على استخدام TabBar و TabBarView في Flutter:

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage>
    with SingleTickerProviderStateMixin {
  late TabController _tabController;

  @override
  void initState() {
    super.initState();
    _tabController = TabController(length: 3, vsync: this);
  }

  @override
  void dispose() {
    _tabController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
        bottom: TabBar(
          controller: _tabController,
          tabs: [
            const Tab(icon: Icon(Icons.home), text: 'Home'),
            const Tab(icon: Icon(Icons.search), text: 'Search'),
            const Tab(icon: Icon(Icons.person), text: 'Profile'),
          ],
        ),
      ),
      body: TabBarView(
        controller: _tabController,
        children: [
          const Center(
            child: Text('Home'),
          ),
          const Center(
            child: Text('Search'),
          ),
          const Center(
            child: Text('Profile'),
          ),
        ],
      ),
    );
  }
}

في هذا المثال، يتم استخدام TabBar و TabBarView في Scaffold. يتم تعيين عدد من العلامات التبويبية إلى TabBar و TabBarView يتم تعيين صفحات العرض المختلفة إلى children. يتم استخدام خاصية controller لربط TabBarView بـ TabBar.

“اقرأ أيضاً: شرح استخدام ويدجت InkWell في فلاتر“


تستخدم TabBar و TabBarView في Flutter لتنظيم المحتوى وتسهيل التنقل بين الصفحات. يمكن للمطورين تخصيص TabBar و TabBarView باستخدام الخصائص المختلفة المتاحة. في هذه المقالة، قدمنا شرحًا تفصيليًا لجميع خصائص TabBar و TabBarView في Flutter. نأمل أن يكون هذا المقال مفيد

Arab Flutter Community 🚀

انضم إلى مجتمع Arab Flutter
شارك هذا المقال
فيسبوك تويتر Whatsapp Whatsapp لينكد ان تلغرام نسخ الرابط
Avatar of عبدالله يوسف
بواسطة عبدالله يوسف Founder and CEO at ArabFlutter
تابع:
أنا عبدالله يوسف، مهندس مصري ومؤسس موقع عرب فلاتر، ملهم بشغف التكنولوجيا والإبداع. كمصمم مواقع ومبرمج تطبيقات موبايل باستخدام Flutter، أستمتع بخلق عوالم رقمية فريدة ومبتكرة. تتجلى مواهبي في تصميم وتطوير واجهات مستخدم تفاعلية، حيث يمزج الجانب الجمالي بالدقة الهندسية. ما يميزني هو إلمامي الواسع بتقنيات البرمجة والتصميم، ومقدرتي على تطوير تطبيقات متنوعة عبر منصات مختلفة. أعتبر نفسي مبدعًا وملتزمًا، حيث أسعى دائمًا لتحقيق تحسين مستمر في مهاراتي وتقنياتي. أستمتع بتحديات العمل الجماعي وأؤمن بأهمية الابتكار والتطور. بفضل إبداعي والتزامي، أسعى لتقديم حلول فعّالة تلبي توقعات العملاء وتفوق عن المألوف.
اترك تعليقا اترك تعليقا

اترك تعليقاً إلغاء الرد

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
Tutorials
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
Tutorials
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
Tutorials
طريقة انشاء المجلدات باستخدام Dart
طريقة انشاء المجلدات باستخدام كود Dart تلقائيًا
Tutorials

مقالات ذات الصلة

اطلع على المزيد من المقالات المتعلقة بهذا الموضوع!
شرح استخدام ThemeData في فلاتر
Widgets

شرح استخدام ThemeData في فلاتر

37 2
شرح استخدام ويدجت SingleChildScrollView في فلاتر
Widgets

شرح استخدام SingleChildScrollView في فلاتر

26 1
شرح استخدام ويدجت WillPopScope في فلاتر
Widgets

شرح استخدام ويدجت WillPopScope في فلاتر

19 1
شرح استخدام ويدجت RichText في فلاتر 
Widgets

شرح استخدام ويدجت RichText في فلاتر 

20
شرح استخدام ويدجت TextButton في فلاتر
Widgets

شرح استخدام ويدجت TextButton في فلاتر

20
شرح استخدام ويدجت OutlinedButton في فلاتر
Widgets

شرح استخدام ويدجت OutlinedButton في فلاتر

28 1
أظهر المزيد
شعار موقع عرب فلاتر شعار موقع عرب فلاتر

About US

Quick Links

  • خدماتنا
  • من نحن
  • اتصل بنا
  • اتفاقية استخدام
  • سياسة الخصوصية
© جميع الحقوق محفوظة موقع عرب فلاتر 2023
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
adbanner
تم اكتشاف مانع إعلانات
مرحبًا، يرجى إيقاف مانع الإعلانات. الإعلانات تُساهم في دعم موقعنا وتغطية جزء من تكاليف الاستضافة وتطوير المحتوى. شكرًا لتفهمك ودعمك.
Okay, I'll Whitelist
Welcome Back!

Sign in to your account

هل نسيت كلمة المرور؟