es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se puede cambiar el color de fondo de SimpleSettingsTile.

Utilizo el complemento Flutter Settings Screens para la pantalla de configuración de mi aplicación móvil y no puedo cambiar el fondo de cada configuración. Por ejemplo, quiero cambiar el fondo de SimpleSettingsTile. ¿Cómo puedo hacer eso?

Aquí está mi código:

import 'package:flutter/material.dart';
import 'package:flutter_settings_screens/flutter_settings_screens.dart';
import 'package:torch/widget/icon_widget.dart';

class Settings extends StatefulWidget {
  const Settings({Key? key}) : super(key: key);

  @override
  State<settings> createState() => _SettingsState();
}

class _SettingsState extends State<settings> {
  @override
  Widget build(BuildContext context) {
     return Scaffold(
       backgroundColor: Colors.indigo[900],
       body: SafeArea(
         child: ListView(
           padding: EdgeInsets.all(24),
           children: [
             Ink(
               color: Colors.indigo[900],
               child: SettingsGroup(
                   title: 'General',
                   children: [
                     buildRemoveAds(),
                     buildRemoveAds(),
                    // buildSoundControl(),
                    // buildFlashOnStart(),
                   ]),
             )
           ],
         ),
       ),
     );
  }

  Widget buildRemoveAds() => SimpleSettingsTile(
        title: 'Eliminar anuncios',
        subtitle: '',
        leading: IconWidget(icon: Icons.login, color: Colors.indigo.shade900),
        onTap: () =>  ScaffoldMessenger.of(context).showSnackBar(const SnackBar(
          margin: EdgeInsets.only(bottom:20),
          behavior: SnackBarBehavior.floating,
          content: Text("algún mensaje"),
        )),
    );
}

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para cambiar el fondo de SimpleSettingsTile en flutter_settings_screens, debes envolverlo dentro de un widget Ink y establecer la propiedad color del widget Ink al color de fondo deseado. Aquí está el código modificado para la función buildRemoveAds que cambia el color de fondo a verde:

    Widget buildRemoveAds() => Ink(
          color: Colors.green, // establece el color de fondo aquí
          child: SimpleSettingsTile(
            title: 'Eliminar anuncios',
            subtitle: '',
            leading: IconWidget(icon: Icons.login, color: Colors.indigo.shade900),
            onTap: () => ScaffoldMessenger.of(context).showSnackBar(
              const SnackBar(
                margin: EdgeInsets.only(bottom: 20),
                behavior: SnackBarBehavior.floating,
                content: Text("algún mensaje"),
              ),
            ),
          ),
       );
    

    Puedes reemplazar Colors.green con cualquier color que desees. Además, puedes pasar una propiedad borderRadius al widget Ink para darle esquinas redondeadas.

Comments are closed.