[解決済み] FlutterでborderRadiusを使用してコンテナにボーダーを追加する
2022-02-11 05:09:29
質問
Container(
child: Text(
'This is a Container',
textScaleFactor: 2,
style: TextStyle(color: Colors.black),
),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: Colors.white,
border: Border(
left: BorderSide(
color: Colors.green,
width: 3,
),
),
),
height: 50,
),
これは、丸みを帯びた角のあるコンテナと、幅3pxの緑の左ボーダー、および子テキスト "これはコンテナです"を表示することになっています。しかし、これは丸みを帯びたコンテナと見えない子、見えない左ボーダーを表示するだけです。
borderRadiusオブジェクトを取り出すと、子Textと緑の左ボーダーが見えますが、導入すると再び左ボーダーと子Textが非表示になります。
大きな問題は、カスタム左ボーダーと思われます。
border: Border.all(width: 0)
と
borderRadius: BorderRadius.circular(10)
は、必要に応じて縁を丸くし、子も表示します。しかし、この特殊な設定において非常に重要な、緑の左ボーダーを適用することができません。
何か間違ったことをしているのか、それともflutterのバグなのか、それとも許されないことなのでしょうか?
よろしくお願いします。
編集部:下の画像は最終的な結果です。色は重要ではありません
解決方法は?
border:とborderRadius:を同時に指定すると、このエラーが発生します。
borderRadiusは一様なボーダーに対してのみ与えることができます。
borderRadius:とboxShadow:を使って、border:の代わりに以下のようにすれば、望みのものが実現できます。
boxShadow: [
BoxShadow(color: Colors.green, spreadRadius: 3)
]
サンプルコードはこのようになります。
Container(
child: Text(
'This is a Container',
textScaleFactor: 2,
style: TextStyle(color: Colors.black),
),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: Colors.white,
boxShadow: [
BoxShadow(color: Colors.green, spreadRadius: 3),
],
),
height: 50,
),
編集する 今ご提示いただいた例を実現するには、次のようにすればよいでしょう。
Container(
padding: EdgeInsets.only(left: 12.0),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.0),
color: Colors.green,
),
height: 50,
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.only(
topRight: Radius.circular(10.0),
bottomRight: Radius.circular(10.0)),
color: Colors.white,
),
child: Text(
'This is a Container',
textScaleFactor: 2,
style: TextStyle(color: Colors.black),
),
),
),
もう一つの解決策
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.0),
color: Colors.white,
),
height: 50,
child: Row(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Container(
width: 12.0,
decoration: BoxDecoration(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(10.0),
bottomLeft: Radius.circular(10.0)),
color: Colors.green,
),
),
Text(
'This is a Container',
textScaleFactor: 2,
style: TextStyle(color: Colors.black),
)
],
),
),
関連
-
flutter TextField 入力ボックスコンポーネント
-
[解決済み] Flutterでgoogleとyoutubeの両方にログインする
-
Solve flutter Android ライセンスの状態が不明です。Android SDK Managerを再インストールまたはアップデートしてみてください。
-
[解決済み】オンスクリーンキーボードを解除するにはどうしたらいいですか?
-
[解決済み】起動ロックを解除するために別のflutterコマンドを待機する
-
[解決済み】画面の幅や高さに対する割合で要素をサイズ調整する方法
-
[解決済み】FlutterでStatefulWidgetにデータを渡して、その状態のままアクセスする方法
-
[解決済み] [Solved] Flutter: How to make TextField with HintText but no Underline?
-
[解決済み] ボタンの幅を親と同じにするには?
-
[解決済み] ListViewの最後までプログラム的にスクロールさせる
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
flutter,コマンド PhaseScriptExecution が 0 以外の終了コードで失敗しました。
-
[解決済み] FlutterでListViewをColumnに追加する方法とは?
-
[解決済み] Flutterのデバッグバナーを削除するにはどうしたらいいですか?
-
Solve flutter Android ライセンスの状態が不明です。Android SDK Managerを再インストールまたはアップデートしてみてください。
-
[解決済み】Scaffold.of()がScaffoldを含まないコンテキストで呼び出された場合
-
[解決済み】FlutterでToastを作成する方法
-
[解決済み】FlutterでStatefulWidgetにデータを渡して、その状態のままアクセスする方法
-
[解決済み】Flutterで少し遅れてからコードを実行する方法は?
-
[解決済み] Widgetの高さを取得するには?
-
[解決済み] Flutterで「戻る」ボタンを上書きするには?[重複している]。