Buat Tombol Tampak Abu-Abu
Termasuk bagian Membuat Aplikasi Interaktif dalam perjalanan Flutter di Coddy. Pelajaran 21 dari 34.
Di Tombol Pertamamu, onPressed: null membuat tombol berwarna abu-abu. Sekarang kamu bisa menentukan perilakunya saat aplikasi berjalan: berikan fungsi kepada onPressed saat tombol tersebut dapat digunakan, dan null saat tidak.
ElevatedButton(
onPressed: _count > 0 ? _decrease : null,
child: const Text('Minus'),
)? : memilih antara method dan null. Setiap kali setState membangun ulang layar, perbandingannya dijalankan lagi, sehingga tombol berubah menjadi abu-abu dan aktif kembali dengan sendirinya.
Tombol berwarna abu-abu memberi tahu orang-orang mengapa tidak akan terjadi apa-apa sebelum mereka mengetuknya. Tombol yang bisa ditekan tetapi diam-diam tidak melakukan apa-apa hanya terlihat rusak.
Tantangan
MudahJumlah item di keranjang bisa kurang dari nol. Buat tombol Remove menjadi abu-abu saat tidak ada item, sehingga tombol itu hanya bisa ditekan saat _items lebih dari 0.
Coba sendiri
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(
debugShowCheckedModeBanner: false,
home: const HomePage(),
);
}
}
class HomePage extends StatefulWidget {
const HomePage({super.key});
@override
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
int _items = 0;
void _add() {
setState(() {
_items++;
});
}
void _remove() {
setState(() {
_items--;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Cart')),
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Text('Items: $_items', style: const TextStyle(fontSize: 24)),
const SizedBox(height: 16),
ElevatedButton(onPressed: _add, child: const Text('Add')),
ElevatedButton(onPressed: _remove, child: const Text('Remove')),
],
),
),
);
}
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Membuat Aplikasi Interaktif
5Pengambilan Keputusan
bool dan Operator ? :Pengambilan Keputusan dengan if dan elseAnd, Or, dan Not di DartTampilkan dan Sembunyikan WidgetBuat Tombol Tampak Abu-AbuLatihan sendiri: Compiler Flutter online