Vue.js スタイルレイアウト Flutter ビジネス開発共通スキル

Vue.js スタイルレイアウト Flutter ビジネス開発共通スキル

シャドウスタイルにおけるフラッターとCSSの対応

UIによって指定されたCSSスタイル

幅: 75px;
高さ: 75px;
背景色: rgba(255, 255, 255, 1);
境界線の半径: 4px;
ボックスの影: 0px 0.5px 5px 0px rgba(0, 0, 0, 0.08);

フラッタースタイルのレイアウト

容器(
      制約: BoxConstraints.tightFor(幅: 75, 高さ: 75),
      マージン: EdgeInsets.only(左: 0.5、右: 0.5、上: 0.5、下: 3)、
          // 影のレイアウト装飾: BoxDecoration(
        色: WBColors.white、
        境界半径: 境界半径.circular(8),
        ボックスシャドウ: [
          ボックスシャドウ
            色: Color.fromRGBO(0, 0, 0, 0.08)、
            オフセット: オフセット(0, 0.5)、
            ぼかし半径: 5,
            拡散半径: 0
          )
        ]
      )、
      配置: Alignment.center、
      子供: ...、
    )

対応

財産css (ボックスシャドウ)フラッター(ボックスシャドウ)
オフセット最初の2つの値オフセット: オフセット(0, 0.5)
ぼかし半径3番目の価値ぼかし半径: 5,
拡散半径4番目の価値拡散半径: 0
RGBA(0, 0, 0, 0.08) です色: Color.fromRGBO(0, 0, 0, 0.08)

テキストボックスの境界線処理

UIによって与えられたCSSスタイルは次のとおりです

幅: 335ピクセル;
高さ: 138px;
境界線: 0.5px 実線 rgba(230, 230, 230, 1);
境界線の半径: 10px;

Flutterは次のように処理します

テキストフィールド(
  キーボードタイプ: TextInputType.multiline、
  コントローラー: textareaController、
  最大行数: 7,
  最大長: 200,
  デコレーション: InputDecoration(
      // H5 ヒントテキストのプレースホルダー: '顧客の名前を入力するにはクリックしてください...',
      //テキストの内側の境界線の距離 contentPadding: 14.0,
      //選択されていない色 enabledBorder: OutlineInputBorder( 
        境界半径: 境界半径.円形(5.0)、
        ボーダーサイド: ボーダーサイド(色: カラー(0xFFEAEAEA), 幅: 0.5),
      )、
      //選択時の外側の境界線の色 focusedBorder: OutlineInputBorder( 
        境界半径: 境界半径.円形(5.0)、
        ボーダーサイド: ボーダーサイド(色: カラー(0xFFEAEAEA), 幅: 0.5),
      )、
      ヒントスタイル: テキストスタイル(
        フォントサイズ: 14,
        フォントファミリー: 'PingFangSC-Medium'、
        色: 色(0xFFCCCCCC)、
      )、
      カウンターテキスト: ''、
  )、
  onChanged: (イベント) {
    /// 入力ボックスをリッスンし、入力ボックスの値を返します。model.callback(event);
  } 、
)

通常 1 行の CSS で実行できるこの種のコードは、Flutter では複雑なスタイル処理が必要になり、エラーが発生しやすくなることがあります。デフォルトでは、Flutter はシステムの青い境界線を使用します。適切な API を見つけずに境界線の色を変更するのは困難です。

グラデーションボタンレイアウト

UI に指定された CSS スタイル

幅: 335ピクセル;
高さ: 46px;
背景: linear-gradient(98deg, rgba(242, 82, 40, 1) 0%,rgba(242, 82, 40, 1) 14.0000000000000002%,rgba(252, 175, 60, 1) 94%,rgba(252, 175, 60, 1) 100%);
境界線の半径: 23px;

フラッターレイアウトスタイル

容器(
  高さ: 46,
  幅: UIScreen.screenWidth()-30,
  デコレーション: BoxDecoration(
    グラデーション: LinearGradient(色: [
      色(0xFFF25228)、
      色(0xFFFCAF3C)、
    ]、開始: FractionalOffset(0, 1)、終了: FractionalOffset(1, 0))、
    境界半径: 境界半径.円形(23)、
  )、
  子: FlatButton(
      押されたとき: (){
        /// ボタンをクリックしてポップアップ ウィンドウを閉じます callback();
      },
      子: テキスト(
        「車の状態を確認しましたので、すぐに引き取りに伺います」
        スタイル: テキストスタイル(
            色: 色(0xFFFFFFFF)、
            フォントファミリー: 'PingFangSC-Semibold'、
            フォントサイズ: 15,
            フォントの太さ: FontWeight.w700
        )、
      )
  )、
)

H5 では、1 行のスタイル コードでこれを行うことができますが、Flutter では、Container コンポーネントの装飾プロパティを使用して背景のグラデーションを設定する必要があります。

Android スクロール コンポーネントを下にスクロールするときの水の波紋効果を削除します

一部のビジネスでは、ページの中央に SingleChildScrollView スクロール コンポーネントを使用している場合、下に引っ張ると波紋が表示されます。私の意見では、これは非常に醜く、ページの外観に影響を与えます。では、これを削除するにはどうすればよいですか? 具体的な操作は次のとおりです。

'package:flutter/material.dart' をインポートします。
/// NoShadowScrollBehavior をカスタマイズして、Android の水の波紋効果を削除します。class NoShadowScrollBehavior extends ScrollBehavior {
  @オーバーライド
  ウィジェットbuildViewportChrome(BuildContextコンテキスト、ウィジェットの子、AxisDirection axisDirection) {
    スイッチ(getPlatform(コンテキスト)){
      TargetPlatform.iOSの場合:
      TargetPlatform.macOSの場合:
        子を返します。
      TargetPlatform.androidの場合:
      TargetPlatform.fuchsiaの場合:
      TargetPlatform.linuxの場合:
      TargetPlatform.windowsの場合:
        GlowingOverscrollIndicator を返します(
          子供: 子供、
          // 頭水波紋を表示しない showLeading: false,
          // 後続の水波紋を表示しない showTrailing: false,
          軸の方向: 軸の方向、
          色: Theme.of(context).accentColor、
        );
    }
    null を返します。
  }
}
//ScrollConfigurationを呼び出す(
    動作: NoShadowScrollBehavior(),
    子: SingleChildScrollView(
      // 物理: NeverScrollableScrollPhysics(),
      子: 列(
        子: <ウィジェット>[
          ボタンラジオを構築(コンテキスト)、
          ビルド条件(コンテキスト)、
          SizedBox(高さ: 100,)
        ]、
      )、
    )
);

上記は、vue.js スタイルのレイアウトで Flutter ビジネス開発を行う際によく使われるテクニックの詳細です。Flutter ビジネス開発スタイルのレイアウトテクニックの詳細については、123WORDPRESS.COM の他の関連記事もご覧ください。

以下もご興味があるかもしれません:
  • Flutterは複数のレイアウトリストのサンプルコードを実装します
  • Flutter でよく使われるレイアウトとイベントの例の詳細な説明
  • Flutter TabLayoutレイアウトの使用方法の詳細な説明
  • Flutter 学習: 構築、レイアウト、描画の 3 部作
  • Flutterレイアウトモデルのスタッキング配置

<<:  Webフロントエンドのパフォーマンス最適化

>>:  CSS3を使用してプログレスバー効果を実現し、動的にパーセンテージを追加する

推薦する

MySQL Community Server 5.6.39 のインストール方法

この記事では、MySQLのダウンロードとインストールの詳細なチュートリアルを記載しています。具体的な...

JSは要素のドラッグとプレースホルダー機能を実装します

このブログ投稿は、ブロガーが数日前に取り組んだプロジェクトで遭遇した困難についてです。これを学んだ後...

Nginxは特定のページへのIPアクセスを制限します

1.すべてのIPアドレスが3つのページa1.htm、a2.htm、a3.htmにアクセスするのを禁止...

Javascriptのtry catchの2つの機能についてお話しましょう

プログラムは上から下へ順番に実行され、いくつかの制御文によって実行経路を変更することができます。制御...

React NativeのScrollViewプルダウンリフレッシュ効果

この記事では、React Native ScrollViewのプルダウンリフレッシュ効果の具体的なコ...

jsはシンプルなカウントダウンを実装します

この記事の例では、参考までに簡単なカウントダウンを実装するためのjsの具体的なコードを共有しています...

フロントエンドとバックエンドを分離した nginx 構成を展開するための完全な手順

序文決まり文句です。ここでは、フロントエンドとバックエンドの分離についての私の理解についてお話ししま...

Linux ディスク領域解放問題の概要

IDC のサーバーの /partition 使用率がいっぱいです。 100% に到達しました!確認し...

SQLでEXPLAINコマンドを使用する方法

日常業務では、実行に時間のかかる SQL ステートメントを記録するために、スロー クエリを実行するこ...

Webpack ファイル パッケージ化エラー例外

webpack をパッケージ化する前に、次の作業が完了していることを確認する必要があります。 1) ...

JavaScript スタイル オブジェクトと CurrentStyle オブジェクトのケース スタディ

1. スタイルオブジェクトスタイル オブジェクトは単一のスタイル宣言を表し、スタイルが適用されている...

JavaScript の document.activeELement フォーカス要素の紹介

目次1. デフォルトの焦点はボディにあります2. テキストボックスのフォーカスを手動で取得する3. ...

Docker を使用してフロントエンド アプリケーションをデプロイする方法

Dockerはますます普及しています。環境を軽量かつ柔軟に分離し、容量を拡張し、運用保守管理を容易に...

VUEはタイムライン再生コンポーネントを実装します

この記事の例では、タイムライン再生コンポーネントを実装するためのVUEの具体的なコードを参考までに共...