Layout im Vue.js-Stil Allgemeine Fähigkeiten zur Flutter-Geschäftsentwicklung

Layout im Vue.js-Stil Allgemeine Fähigkeiten zur Flutter-Geschäftsentwicklung

Korrespondenz zwischen Flutter und CSS im Shadow-Stil

Von der Benutzeroberfläche vorgegebener CSS-Stil

Breite: 75px;
Höhe: 75px;
Hintergrundfarbe: rgba(255, 255, 255, 1);
Rahmenradius: 4px;
Kastenschatten: 0px 0,5px 5px 0px rgba (0, 0, 0, 0,08);

Layout im Flutter-Stil

Container(
      Einschränkungen: BoxConstraints.tightFor(Breite: 75, Höhe: 75),
      Rand: EdgeInsets.only (links: 0,5, rechts: 0,5, oben: 0,5, unten: 3),
          //Schattenlayout-Dekoration: BoxDecoration(
        Farbe: WBColors.white,
        borderRadius: BorderRadius.circular(8),
        boxShadow: [
          BoxShadow
            Farbe: Farbe.vonRGBO(0, 0, 0, 0,08),
            Offset: Offset(0, 0,5),
            Unschärferadius: 5,
            Ausbreitungsradius: 0
          )
        ]
      ),
      Ausrichtung: Ausrichtung.zentriert,
      Kind: ...,
    )

Korrespondenz

Eigentum CSS (Boxschatten) flattern (Boxschatten)
Versatz Die ersten beiden Werte Offset: Offset(0, 0,5)
UnschärfeRadius Der dritte Wert Unschärferadius: 5,
Ausbreitungsradius Der vierte Wert Ausbreitungsradius: 0
Farbe rgba(0, 0, 0, 0,08) Farbe: Farbe.vonRGBO(0, 0, 0, 0,08)

Verarbeitung von Textfeldrändern

Der von der Benutzeroberfläche vorgegebene CSS-Stil lautet wie folgt

Breite: 335px;
Höhe: 138px;
Rand: 0,5px durchgezogen rgba(230, 230, 230, 1);
Rahmenradius: 10px;

Flutter behandelt es wie folgt

Textfeld(
  Tastaturtyp: TextEingabetyp.mehrzeilig,
  Controller: Textbereichscontroller,
  maxZeilen: 7,
  maxLength: 200,
  Dekoration: InputDecoration(
      // Platzhalter in H5 hintText: „Klicken Sie, um den Namen des Kunden einzugeben …“,
      //Abstand des inneren Textrands contentPadding: 14.0,
      //Nicht ausgewählte Farbe enabledBorder: OutlineInputBorder( 
        borderRadius: BorderRadius.circular(5.0),
        Rahmenseite: Rahmenseite (Farbe: Farbe (0xFFEAEAEA), Breite: 0,5),
      ),
      //Äußere Rahmenfarbe bei Auswahl von focusedBorder: OutlineInputBorder( 
        borderRadius: BorderRadius.circular(5.0),
        Rahmenseite: Rahmenseite (Farbe: Farbe (0xFFEAEAEA), Breite: 0,5),
      ),
      Hinweisstil: Textstil(
        Schriftgröße: 14,
        Schriftfamilie: „PingFangSC-Medium“,
        Farbe: Farbe (0xFFCCCCCC),
      ),
      ZählerText: '',
  ),
  beiÄnderung: (Ereignis) {
    ///Auf das Eingabefeld hören und den Wert des Eingabefelds zurückgeben model.callback(event);
  } ,
)

Diese Art von Code, der normalerweise mit einer Zeile CSS erstellt werden kann, erfordert eine komplexe Stilverarbeitung in Flutter, die manchmal fehleranfällig ist. Standardmäßig verwendet Flutter den blauen Systemrahmen. Es ist schwierig, die Rahmenfarbe zu ändern, ohne die richtige API zu finden.

Farbverlaufsschaltflächenlayout

Benutzeroberfläche mit CSS-Stil

Breite: 335px;
Höhe: 46px;
Hintergrund: linearer Farbverlauf (98 Grad, RGBA (242, 82, 40, 1) 0 %, RGBA (242, 82, 40, 1) 14,000000000000002 %, RGBA (252, 175, 60, 1) 94 %, RGBA (252, 175, 60, 1) 100 %);
Rahmenradius: 23px;

Flutter-Layout-Stil

Container(
  Höhe: 46,
  Breite: UIScreen.screenWidth()-30,
  Dekoration: BoxDecoration(
    Farbverlauf: Linearer Farbverlauf (Farben: [
      Farbe (0xFFF25228),
      Farbe (0xFFFCAF3C),
    ], beginne: FractionalOffset(0, 1), ende: FractionalOffset(1, 0)),
    borderRadius: BorderRadius.circular(23),
  ),
  Kind: FlatButton(
      beim Drücken: (){
        ///Klicken Sie auf die Schaltfläche, um das Popup-Fenster zu schließen callback();
      },
      Kind: Text(
        „Ich habe den Zustand des Autos bestätigt und werde es umgehend abholen“,
        Stil: Textstil(
            Farbe: Farbe (0xFFFFFFFF),
            Schriftfamilie: 'PingFangSC-Semibold',
            Schriftgröße: 15,
            Schriftgewicht: FontWeight.w700
        ),
      )
  ),
)

In H5 kann dies mit einer Zeile Stilcode erfolgen, in Flutter müssen Sie jedoch die Dekorationseigenschaft der Containerkomponente verwenden, um den Hintergrundfarbverlauf festzulegen.

Entfernen Sie den Wasserwelleneffekt beim Scrollen nach unten in der Android-Scroll-Komponente

Wenn einige unserer Unternehmen die Scroll-Komponente SingleChildScrollView in der Mitte der Seite verwenden, werden beim Herunterziehen Wasserwellen angezeigt. Meiner Meinung nach ist das sehr hässlich und beeinträchtigt das Erscheinungsbild der Seite. Wie kann man es also entfernen? Die spezifischen Vorgänge sind wie folgt:

importiere „Paket: Flutter/Material.dart“;
///Passen Sie ein NoShadowScrollBehavior an, um den Wasserwelleneffekt der Android-Klasse NoShadowScrollBehavior extends ScrollBehavior { zu entfernen.
  @überschreiben
  Widget buildViewportChrome(BuildContext Kontext, Widget untergeordnetes Element, AxisDirection axisDirection) {
    Schalter (getPlatform(Kontext)) {
      Fall TargetPlatform.iOS:
      Fall TargetPlatform.macOS:
        Kind zurückgeben;
      Fall TargetPlatform.android:
      Fall TargetPlatform.fuchsia:
      Fall TargetPlatform.linux:
      Fall TargetPlatform.windows:
        returniere GlowingOverscrollIndicator(
          Kind: Kind,
          //Keine Wellen am Wasser anzeigen showLeading: false,
          //Die nachlaufenden Wasserwellen nicht anzeigen showTrailing: false,
          Achsenrichtung: Achsenrichtung,
          Farbe: Theme.of(Kontext).AkzentFarbe,
        );
    }
    gibt null zurück;
  }
}
//ScrollConfiguration aufrufen(
    Verhalten: NoShadowScrollBehavior(),
    Kind: SingleChildScrollView(
      // Physik: NeverScrollableScrollPhysics(),
      Kind: Spalte(
        Kinder: <Widget>[
          buildButtonRadio(Kontext),
          BuildCondition(Kontext),
          SizedBox (Höhe: 100,)
        ],
      ),
    )
);

Oben sind die Details der gängigen Techniken für die Flutter-Geschäftsentwicklung im Layout im vue.js-Stil aufgeführt. Weitere Informationen zu Layouttechniken im Flutter-Geschäftsentwicklungsstil finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Flutter implementiert Beispielcode für mehrere Layoutlisten
  • Detaillierte Erläuterung der in Flutter häufig verwendeten Layout- und Ereignisbeispiele
  • Detaillierte Erklärung der Flutter TabLayout Layout-Nutzung
  • Flutter-Lernen: Konstruktions-, Layout- und Zeichentrilogie
  • Stapelpositionierung des Flutter-Layoutmodells

<<:  Lösung für die Nichterreichbarkeit des Tencent Cloud Server Tomcat-Ports

>>:  Verwenden Sie CSS3, um einen Fortschrittsbalkeneffekt zu erzielen und dynamisch Prozentsätze hinzuzufügen

Artikel empfehlen

Vue+Bootstrap realisiert ein einfaches Studentenverwaltungssystem

Ich habe Vue und Bootstrap verwendet, um ein rela...

Häufige Ursachen und Lösungen für langsame MySQL-SQL-Anweisungen

1. Langsame Abfrage aufgrund fehlenden oder ungül...

Zwei Möglichkeiten zur Verwendung von React in React HTML

Grundlegende Verwendung <!DOCTYPE html> <...

Nicht alle Pop-ups sind betrügerisch. Tipps zum Entwerfen von Website-Pop-ups

Popup-Nachrichten sind bei inländischen Internetd...

So implementieren Sie Zeilenumbrüche im Texteingabebereich von Textarea

Wenn Sie den Text im Textarea-Eingabebereich umbre...

Detaillierte Anweisungen zur Installation von SuPHP auf CentOS 7.2

Standardmäßig wird PHP unter CentOS 7 als Apache ...

Das WeChat-Applet implementiert einen einfachen Rechner

Der einfache Rechner des WeChat-Applets dient Ihn...

Detailliertes Tutorial zur VMware-Installation des Linux CentOS 7.7-Systems

So installieren Sie das Linux CentOS 7.7-System i...

So konfigurieren Sie einfach mehrere Server in Nginx

1: Ich werde nicht näher auf die Installation von...

Tutorial zur Verwendung von Profilen in MySQL

Was ist ein Profil? Wir können es verwenden, wenn...

Grafisches Tutorial zur Installation und Konfiguration von MySQL (CentOS7)

1. Systemumgebung [root@localhost-Startseite]# ca...

Implementierung der Breakpoint-Wiederaufnahme in Node.js

Vorwort Normaler Geschäftsbedarf: Hochladen von B...