Ifformattjar UI bi ThemeData u Custom Styles in Flutter

F' Flutter, tista' tifformattja d-dehra u sensazzjoni tal-applikazzjoni tiegħek billi tuża ThemeData u tippersonalizza l- styles. ThemeData hija klassi li fiha proprjetajiet biex tiddefinixxi l-kulur dominanti styles, fonts, padding, eċċ għall-applikazzjoni kollha. Custom Style jippermettilek tippersonalizza styles għal kull speċifiku Widget. Hawn huma struzzjonijiet dettaljati dwar kif tuża ThemeData u Custom Styles fi Flutter:

ThemeData

Fi Flutter, ThemeData hija klassi li fiha attributi biex tiddefinixxi l-kulur primarju, il-familja tat-tipa, padding u ħafna għażliet oħra ta 'grafika għall-applikazzjoni kollha. Billi tuża ThemeData, tista' malajr tibdel id-dehra ġenerali tal-app tiegħek mingħajr ma jkollok bżonn timmodifika kull individwu Widget.

Attributi komuni ta ThemeData ':

  • primaryColor: Il-kulur primarju għall-elementi ewlenin tal-app, bħall-istrixxa tal-app, buttuni, eċċ.
  • accentColor: Il-kulur tal-aċċent għal elementi sekondarji jew punti ewlenin fl-IU, bħal FloatingActionButton.
  • backgroundColor: Il-kulur tal-isfond għall-app kollha.
  • textTheme: Jiddefinixxi t-test primarju styles għal elementi tat-test differenti fl-app, bħal intestaturi, test tal-korp, eċċ.
  • textTheme.headline1: Stil tat-test għall-livell tal-intestatura 1.
  • textTheme.headline2: Stil tat-test għall-livell 2 tal-intestatura.
  • textTheme.bodyText1: Stil tat-test għat-test tal-korp prinċipali.
MaterialApp(  
  theme: ThemeData(  
    primaryColor: Colors.blue, // Dominant colors for title bars, buttons, etc.  
    accentColor: Colors.green, // Primary color for secondary elements eg FloatingActionButton  
    fontFamily: 'Roboto', // The main font for the whole application  
    textTheme: TextTheme( // Dominant text styles for in-app texts  
      headline1: TextStyle(fontSize: 36, fontWeight: FontWeight.bold),  
      headline2: TextStyle(fontSize: 30, fontWeight: FontWeight.w500),  
      bodyText1: TextStyle(fontSize: 16),  
   ),  
 ),  
  home: MyHomePage(),  
)  

 

Stil Custom

Custom Styles jippermettilek tippersonalizza l-istil għal kull speċifiku Widget. Billi tuża l- style attribut ta 'Widgets bħal Test, Container, RaisedButton, eċċ., Tista' tbiddel it-tipa, il-kulur, id-daqs tat-test, padding, u diversi attributi oħra.

Attributi komuni ta' TextStyle(użati għal Text Widget):

  • fontSize: Id-daqs tat-tipa.
  • fontWeight: Il-piż tat-tipa.
  • color: Il-kulur tat-test.
  • fontStyle: L-istil tat-tipa, bħal skuri, korsiv.
  • letterSpacing: L-ispazjar bejn il-karattri.
  • wordSpacing: L-ispazjar bejn il-kliem.
  • decoration: Id-dekorazzjoni tat-test, bħal issottolinjat, strajjat.

Eżempju bl-użu Custom Styles:

Text(  
  'Chào bạn',  
  style: TextStyle(fontSize: 24, color: Colors.red, fontWeight: FontWeight.bold),  
)  
  
Container(  
  width: 100,  
  height: 100,  
  color: Colors.blue,  
  padding: EdgeInsets.all(8),  
  child: Text('Container', style: TextStyle(fontSize: 18, color: Colors.white)),  
)  

 

Bl-użu Themes u Styles bil MediaQuery

Tista 'tgħaqqad Themes u Styles ma' MediaQuery biex taġġusta l-UI abbażi tad-daqs tal-iskrin jew ir-riżoluzzjoni tal-apparat.

Eżempju:

MediaQuery(  
  data: MediaQuery.of(context).copyWith(textScaleFactor: 1.5),  
  child: Text('The text will be scaled 1.5 times larger than the default size'),  
)  

 

Konklużjoni:

Flutter jipprovdi għodda qawwija biex tifformattja l-IU tal-applikazzjoni tiegħek. Billi tuża ThemeData u tippersonalizza Styles, tista 'faċilment taġġusta elementi tal-UI bħal kuluri, fonts, daqsijiet tat-test, eċċ., biex toħloq interface sabiħa u ta' involviment għall-app tiegħek.