Chcę zmienić rodzinę czcionki widgetowej {x0}}.
Co oznacza, że stworzyłem Container
iw tej Container
Dodałem wiele widgetu stylu tekstu z widżetem GestureDetector
. Więc za każdym razem, gdy kliknąłem na szczególną rodzinę czcionki, chcę zmienić mój Text
Widget font-fast.
Wszelkie sugestie dotyczące wykonania tego rodzaju funkcjonalności.
2 odpowiedzi
Użyj zmiennej do przechowywania nazwy czcionki
Odniesienie do widgetu text
Następnie zadzwoń setState
, aby zaktualizować wartość zmiennej i interfejsu użytkownika
String fontName;
//your TextWidget
Text("some text for testing",
style: TextStyle( fontFamily: fontName )
)
//function to update the value
_updateFont(String name){
setState((){
fontName = name;
});
}
Upewnij się, że importujesz czcionki do użycia Dodaj je w pubspec.yaml
Plik pod fonts
- family: font1
fonts:
- asset: assets/fonts/font1.ttf
Mam nadzieję, że to działa lub modyfikuje odpowiednio:
Kod wewnątrz widgetu tekstowego:
Text("Your Text",
style: tapped
?TextStyle(fontFamily: 'Your-Font-Family')
:TextStyle(fontFamily: 'Your-Second-Font-Family'),
),
Kod wewnątrz detektora gestu:
GestureDetector(
child: your child widget,
onTap: () {
setState(() {
tapped = !tapped;
});
}),
I pamiętaj, aby zdefiniować bool tapped;
w klasie widżetu.
Nadal, jeśli zmierzysz się z żadną trudnością, dodaj kod do komentarza, więc mogę ci pomóc.
Podobne pytania
Powiązane pytania
Nowe pytania
flutter
Flutter to zestaw deweloperski oprogramowania UI typu open source stworzony przez Google. Służy do tworzenia aplikacji na Androida, iOS, Linux, Mac, Windows, Google Fuchsia i sieci z jednej bazy kodu. Aplikacje Flutter są napisane w języku Dart.