このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

Archives Details

【Flutter】CheckboxListTileのチェックボックスをカスタマイズ

Flutter

2022.10.01

この記事は最終更新日から1年以上が経過しています。

どもです。

突然ですが、皆さん Flutter 扱っているでしょうか?

私、存在もずっと前から知っていてクロスプラットフォーム開発は「Flutter」だろう。

とずっと思ってはいましたが、以前からサンプルアプリ開発など触ってはいましたが、またしばらく扱わなくなりました。

で、先日、Flutter 3.0がリリースされ、MacOSやLinuxアプリも作成できるようになり、更に最強感増してきております。

PCのGUIアプリを作成する機会があって、いままでは「Flutter」の選択肢(スマホのみビルドだったので)はなかったのですが、今後は「Flutter」の選択できるとのことで、久々扱かったのですが、やっぱ最高ですね。

もう「Flutter」一択で、Flutter沼にハマってしまいそうな勢い。

 

Flutter」自身、世界的にも注目度も高まっており、国内でも以前と比べると導入する企業も増えており、今後も使われる機会が増えていき、将来性も高いと思っております。

しかしながら出来ることも多く、用意されているWidgetも多く、マテリアルデザインと縁のない方は覚えるのも困難だったりしますよね。

てわけで、今回はCheckboxListTileのチェックボックスのカスタマイズになります。

 

CheckboxListTile

CheckboxListTileは、CheckboxとListTileが合体したWidget。

ということで、便利ですが、カスタマイズが難しそうな印象。

今回、以下の様な如何にもPC用として使う ToDo APP制作のUIで使用してみることにしました。

そう、デフォルトのCheckboxはこの様な感じで「如何にも」のチェックボックスとなっています。

で、上記の様に円形のデザインに変更していくのですが、Checkbox自体のカスタマイズはそれなりにありますが、CheckboxListTileのチェックボックスにカスタマイズに関する日本語の記事も少なく、

stackoverflowにぶち当たりました。

ここでは、テーマをオーバライドする方法が記されていますが、

final theme = Theme.of(context);
final oldCheckboxTheme = theme.checkboxTheme;
final newCheckBoxTheme = oldCheckboxTheme.copyWith( shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(100)), );

チェックボックスの円形だけが適応されなかったので上記の形でオーバライドさせたのですが、

ふと、CheckboxListTileの実装みると、

this.shape,
this.checkboxShape,

と、shapeはCheckboxListTile自体(多分)で、checkboxShapeとCheckbox用のshapeが用意されていたのに気が付きました。(気づけよと)

いやぁ、公式ドキュメントちゃんと読まないとですね。

activeColor: Colors.black.withOpacity(0),
checkboxShape: RoundedRectangleBorder(
    borderRadius: BorderRadius.circular(10)),
    side: BorderSide(
        color: Color.fromRGBO(217, 217, 217, 1),
        width: 2.0,
),

で、背景透過で、ボーダー太め(色も変更)、チェックマークはデザインの方の色が気に入らなかったので実装を白っぽい方へと。

ほぼ完璧。

と、思いきや、

チェック後のactiveColor設定すると、チェック後の枠線もなくなってしまう。。。

指定できるプロパティもなさげ。。

これは、厳しいのか。。

と、できないか調べていますが、無理っぽいのでこれで行こうか考え中。

ToDoAPPのgithhubレポジトリ

今年残りは「Flutter」をガンガン扱っていこうかな。ともう今日このごろでした。

ではでは。

またまたぁ。

 

 

Comment

Related Article

ご、ごめん。。今はFlutterの気分じゃないんだ。。

2025.05.30

Flutter – Flameでゲーム作成 (キャラクターの移動)

2023.07.23

Flutterで作る ChatGPT Prompt Manager

2023.07.12

【Flutter】CheckboxListTileのチェックボックスをカスタマイズ

2022.10.01

CATEGORY LIST

LATEST NEWS

たびのきろく

イベント

2026.02.23

【Railway】MySQLサービスをコスト抑えて運用する

運用

2026.01.19

あけましておめでとうございますmm DjangoアプリをRailwayに移行する。

運用

2026.01.06

効率の良い AI駆動開発について考える

AI・Bot・algorithm

2025.11.09

MacとClaude Codeで構築する cc65(NES)開発環境

Game

2025.10.24

Three.js - ShaderMaterialで、ブレンドシェイプ(MorphTarget)アニメーション対応

JavaScript

2025.10.15

ゲーム開発に必要な基本数学入門

Rust

2025.08.15

Godot 4 & WebAssemblyで様々なデータフォーマットを処理

Godot

2025.07.06

Godot 4 & WebAssemblyで、Hello WebAssembly! - godot-wasm

Godot

2025.06.21

Godot 4 & Rust 始め方

Rust

2025.06.19

ご、ごめん。。今はFlutterの気分じゃないんだ。。

Flutter

2025.05.30

AIのために働け。AI リーダブルコーディングな未来。

AI・Bot・algorithm

2025.05.21

RANKING

Follow

SPONSOR

現在、掲載募集中です。



Links

About Us

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、主に、ゲーム制作中心に港区六本木界隈で活動中。

FOLLOW US