47 lines
1.4 KiB
Plaintext
47 lines
1.4 KiB
Plaintext
import 'package:flutter/material.dart';
|
|
import 'package:crcivan/pages/utils.dart';
|
|
|
|
class CustomAppBar extends StatelessWidget implements PreferredSizeWidget {
|
|
const CustomAppBar({Key? key}) : super(key: key);
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
// Determinar si estamos en una pantalla pequeña
|
|
final screenWidth = MediaQuery.of(context).size.width;
|
|
final isSmallScreen = screenWidth < 600;
|
|
|
|
// Calcular la altura del AppBar dinámicamente
|
|
final appBarHeight = isSmallScreen ? 70.0 : 85.0;
|
|
|
|
// Calcular el tamaño del logo - un tercio más pequeño que la propuesta anterior
|
|
final logoHeight = isSmallScreen ? 40.0 : 53.0;
|
|
final logoPadding = isSmallScreen ? 4.0 : 8.0;
|
|
|
|
return AppBar(
|
|
toolbarHeight: appBarHeight,
|
|
title: const Text(''),
|
|
centerTitle: true,
|
|
backgroundColor: const Color.fromARGB(255, 78, 169, 6),
|
|
iconTheme: const IconThemeData(
|
|
color: Colors.white,
|
|
),
|
|
flexibleSpace: Container(
|
|
padding: EdgeInsets.symmetric(vertical: logoPadding),
|
|
child: Center(
|
|
child: Image.asset(
|
|
'assets/logo-civan.png',
|
|
height: logoHeight,
|
|
fit: BoxFit.contain,
|
|
),
|
|
),
|
|
),
|
|
);
|
|
}
|
|
|
|
@override
|
|
Size get preferredSize {
|
|
// Altura dinámica según el tamaño de pantalla
|
|
return Size.fromHeight(85.0); // Valor ajustado para el logo más pequeño
|
|
}
|
|
}
|