yocky12k

flutter convex container

Dec 5th, 2023 (edited)
377
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Dart 2.40 KB | None | 0 0
  1. dependencies:
  2.   flutter:
  3.     sdk: flutter
  4.   convex_bottom_bar: ^3.2.0
  5.  
  6.  
  7. import 'package:flutter/material.dart';
  8. import 'package:convex_bottom_bar/convex_bottom_bar.dart';
  9.  
  10. void main() {
  11.   runApp(MainApp());
  12. }
  13.  
  14. class MainApp extends StatelessWidget {
  15.   final List<dataBuah> buah = [
  16.     dataBuah(nama: 'Apel', gambar: 'images/apel.jpg'),
  17.     dataBuah(nama: 'Durian', gambar: 'images/durian.jpg'),
  18.     dataBuah(nama: 'Jeruk', gambar: 'images/jeruk.jpg'),
  19.     dataBuah(nama: 'Mangga', gambar: 'images/mangga.jpg'),
  20.     dataBuah(nama: 'Salak', gambar: 'images/salak.jpg'),
  21.     dataBuah(nama: 'Tebu', gambar: 'images/tebu.jpg'),
  22.   ];
  23.  
  24.   @override
  25.   Widget build(BuildContext context) {
  26.     return MaterialApp(
  27.       home: DefaultTabController(
  28.         length: 3,
  29.         child: Scaffold(
  30.           appBar: AppBar(
  31.             title: Text('Container & Convex'),
  32.           ),
  33.           body: TabBarView(
  34.             children: [
  35.               GridView.builder(
  36.                   gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
  37.                     crossAxisCount: 3,
  38.                     crossAxisSpacing: 5.0,
  39.                     mainAxisSpacing: 5.0,
  40.                   ),
  41.                   itemCount: buah.length,
  42.                   itemBuilder: (context, index) {
  43.                     return GridItem(ambilData: buah[index]);
  44.                   }),
  45.               Text('Ini Tab Kedua'),
  46.               Text('Ini Tab Ketiga'),
  47.             ],
  48.           ),
  49.           bottomNavigationBar: ConvexAppBar(
  50.             items: [
  51.               TabItem(icon: Icons.home, title: 'Beranda'),
  52.               TabItem(icon: Icons.image, title: 'Buah'),
  53.               TabItem(icon: Icons.person, title: 'Profile'),
  54.             ],
  55.           ),
  56.         ),
  57.       ),
  58.     );
  59.   }
  60. }
  61.  
  62. class dataBuah {
  63.   final String nama;
  64.   final String gambar;
  65.   dataBuah({required this.nama, required this.gambar});
  66. }
  67.  
  68. class GridItem extends StatelessWidget {
  69.   final dataBuah ambilData;
  70.   GridItem({required this.ambilData});
  71.   @override
  72.   Widget build(BuildContext context) {
  73.     return Card(
  74.       child: Column(
  75.         children: [
  76.           Image.asset(
  77.             ambilData.gambar,
  78.             height: 100,
  79.             fit: BoxFit.cover,
  80.             width: MediaQuery.of(context).size.width,
  81.           ),
  82.           SizedBox(height: 10),
  83.           Text(ambilData.nama),
  84.         ],
  85.       ),
  86.     );
  87.   }
  88. }
  89.  
Add Comment
Please, Sign In to add comment