name27 / flutter

0 stars 0 forks source link

조건문 UI #52

Open name27 opened 1 year ago

name27 commented 1 year ago

image

// ignore_for_file: prefer_const_constructors, camel_case_types, prefer_const_literals_to_create_immutables
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: StartUI(),
    );
  }
}

class StartUI extends StatefulWidget {
  const StartUI({super.key});

  @override
  State<StartUI> createState() => _StartUIState();
}

class _StartUIState extends State<StartUI> {
  bool sunClick = false;
  bool moonClick = false;
  bool starClick = false;
  String sun = 'red';
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        child: Column(
          children: [
            sunClick == true
                ? ListTile(
                    leading: Icon(
                      Icons.sunny,
                      color: Colors.red,
                    ),
                    title: Text('Sun'),
                    trailing: IconButton(
                        onPressed: () {
                          sunClick = !sunClick;
                          setState(() {});
                        },
                        icon: Icon(Icons.navigate_next)),
                  )
                : ListTile(
                    leading: Icon(
                      Icons.sunny,
                    ),
                    title: Text('Sun'),
                    trailing: IconButton(
                        onPressed: () {
                          sunClick = !sunClick;
                          setState(() {});
                        },
                        icon: Icon(Icons.navigate_next)),
                  ),
            moonClick == true
                ? ListTile(
                    leading: Icon(
                      Icons.brightness_3,
                      color: Colors.yellow,
                    ),
                    title: Text('Moon'),
                    trailing: IconButton(
                        onPressed: () {
                          moonClick = !moonClick;
                          setState(() {});
                        },
                        icon: Icon(Icons.navigate_next)),
                  )
                : ListTile(
                    leading: Icon(
                      Icons.brightness_3,
                    ),
                    title: Text('Moon'),
                    trailing: IconButton(
                        onPressed: () {
                          moonClick = !moonClick;
                          setState(() {});
                        },
                        icon: Icon(Icons.navigate_next)),
                  ),
            starClick == true
                ? ListTile(
                    leading: Icon(
                      Icons.star,
                      color: Colors.yellow,
                    ),
                    title: Text('Star'),
                    trailing: IconButton(
                        onPressed: () {
                          starClick = !starClick;
                          setState(() {});
                        },
                        icon: Icon(Icons.navigate_next)),
                  )
                : ListTile(
                    leading: Icon(
                      Icons.star,
                    ),
                    title: Text('Star'),
                    trailing: IconButton(
                        onPressed: () {
                          starClick = !starClick;
                          setState(() {});
                        },
                        icon: Icon(Icons.navigate_next)),
                  ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          sunClick = false;
          moonClick = false;
          starClick = false;
          setState(() {});
        },
        child: Icon(Icons.refresh),
      ),
    );
  }
}
name27 commented 1 year ago

image

body column children 안에 코드 작성

TextField(
              onSubmitted: (value) {
                switch (value) {
                  case 'sun':
                    sunClick = !sunClick;
                    break;
                  case 'moon':
                    moonClick = !moonClick;
                    break;
                  case 'star':
                    starClick = !starClick;
                    break;
                  default:
                }
                setState(() {});
              },
              decoration: InputDecoration(
                hintText: '키고 끄고 싶은 아이콘을 입력하세요',
              ),
            ),