Desain material memiliki konsep warna teks sekunder: https://www.google.com/design/spec/style/color.html#color -text-background-colors
Saya dapat mengakses warna ini dalam flutter menggunakan verbose: Theme.of(context).textTheme.caption.color
. Saya tidak ingin gaya ekstra (berat, ukuran font) dari teks atau tampilan[1-4]. Menggunakan Colors.black54
secara langsung tidak ideal karena tidak akan beradaptasi dengan perubahan tema. Apakah ada cara yang kurang bertele-tele bagi saya untuk mendapatkan warna teks sekunder dari tema saat ini? Saat ini saya membuat fungsi level paket tetapi rasanya harus ada cara yang lebih baik:
Color secondary(BuildContext context) =>
Theme.of(context).textTheme.caption.color;
Ini memungkinkan saya untuk mengatakan
new TextStyle(color: secondary(context))
dari pada
new TextStyle(color: Theme.of(context).textTheme.caption.color)
@Hixie Kedengarannya seperti ThemeData
harus memiliki bidang untuk ini.
Sepakat.
Warna sekunder adalah warna aksen. Ada bidang di ThemeData untuk warna aksen; kita harus menunjuknya dari dokumen TextStyle atau semacamnya.
Komentar yang paling membantu
@Hixie Kedengarannya seperti
ThemeData
harus memiliki bidang untuk ini.