ボタン

ボタンは、ユーザーがアクションやフローを開始するのに役立ちます。強調するには、さまざまな種類のボタンから選択します。

カバーボタン

リソース

タイプ リンク ステータス
デザイン デザインソース(Figma) 利用可能
実装 Jetpack Compose 利用可能

ハイライト

  • 操作の重要度に基づいてボタンのタイプを選択します。 アクションが重要になるほど、ボタンを強調します。
  • ボタンには、実行する操作を示す明確なラベルを付けます。
  • ボタンは、画面上でユーザーが目にすると思われる場所に配置してください。
  • ボタンは使いすぎないでください。画面上のボタンが多すぎると、視覚階層が損なわれます。

バリエーション

ボタンには次の 6 種類があります。

  1. 塗りつぶしボタン
  2. アウトライン ボタン
  3. アイコンボタン
  4. 枠線アイコンボタン
  5. 長いボタン
  6. 画像ボタン
塗りつぶしボタン アウトライン ボタン アイコンボタン 枠線アイコンボタン
長いボタン 画像ボタン

操作の重要度に基づいてボタンのタイプを選択します。 アクションが重要であるほど、ボタンの強調度が高くなります。

ボタンの強調

塗りつぶしボタンと枠線ボタン

塗りつぶしボタンは視覚的に最もインパクトがあり、保存、今すぐ参加、確認、ダウンロードなど、フローを完了するための重要な最後のアクションに使用します。

枠線付きボタンは中強調ボタンです。このボタンには、重要なアクションが含まれていますが、アプリのメイン アクションではありません。枠線付きのボタンと塗りつぶされたボタンを組み合わせて、代替のセカンダリ アクションを示します。

構造

塗りつぶしボタンと枠線ボタンの構造

  1. コンテナ
  2. ラベルテキスト
  3. アイコン(省略可)

状態

コンポーネントのステータスを示す視覚的表現。

塗りつぶしボタンと枠線ボタンの状態

  1. デフォルト
  2. 集中
  3. 押下

仕様

塗りつぶしボタンと枠線ボタンの仕様

アイコンと枠線アイコン ボタン

アイコンボタンを使用して、コンパクト レイアウトでアクションを表示します。アイコンボタンは、オーバーフロー メニューを開く、検索するなどの起動アクションを表すことができます。また、お気に入りやブックマークなど、オンとオフを切り替えられるバイナリ アクションを表すこともできます。メディアの再生や一時停止にも使用されます。

アイコンボタンは、小、中、大の 3 つのサイズで定義できます。

構造

アイコンと枠線のアイコンボタンの構造

  1. コンテナ
  2. アイコン

状態

アイコンとアウトライン アイコンボタンの状態

  1. デフォルト
  2. 集中
  3. 押下

状態は、コンポーネントまたはインタラクティブな要素のステータスを伝えるために使用される視覚的な表現です。

仕様

アイコンと枠線のアイコンボタンの仕様

ワイドボタン

幅の広いボタンは、通常のボタンよりも強調したい場合に使用します。重要なアクションが含まれています。関連するオプションを表すボタンはグループ化されています。このグループは共通のサーフェスを共有する必要があります。

構造

ワイドボタンの構造

  1. コンテナ
  2. 最先端アイコン
  3. タイトル
  4. 字幕

状態

ワイドボタンの状態

  1. デフォルト
  2. 集中
  3. 押下

状態は、コンポーネントまたはインタラクティブな要素のステータスを伝えるために使用される視覚的な表現です。

仕様

ワイドボタンの仕様

画像ボタン

画像ボタンは通常、次のレベルのナビゲーションで利用できるコンテンツのサムネイルを表示するために使用されます。通常は関連するアクションと一緒にグループ化され、そのグループは共通のサーフェスを共有する必要があります。

構造

画像ボタンの仕様

  1. コンテナ
  2. 最先端アイコン
  3. タイトル
  4. 字幕
  5. イメージレイヤ。次の要素で構成されます。
    1. Scrim(状態オーバーレイ)
    2. グラデーション(サーフェスの色に基づく)
    3. 画像

状態

画像ボタンの状態

  1. デフォルト
  2. 集中
  3. 押下

状態は、コンポーネントまたはインタラクティブな要素のステータスを伝えるために使用される視覚的な表現です。

仕様

画像ボタンの仕様

Usage

ボタンは通常、ユーザーが実行できるアクションを伝えるために使用されます。これらは、ダイアログ、モーダル ウィンドウ、フォーム、カード、ツールバーなどの UI 要素によく見られます。

ボタンは、UI でアクションを表すためのオプションの一つにすぎません。過度に使用しないでください。画面上のボタンが多すぎると、視覚的な階層が崩れてしまいます。

ボタンの構造

  1. コンテナ
  2. アイコン
  3. ラベルテキスト
  4. タイトル
  5. 字幕
  6. 画像

コンテナ

ボタンによって、コンテンツの周囲にコンテナが表示されます。コンテナは、内部パディングを維持したまま、フォーカスで 1.1 倍にスケーリングされます。コンテナに関する考慮事項は次のとおりです。

  • コンテンツに基づいてコンテナの幅を設定し、パディングが一定になるようにします。
  • レスポンシブ レイアウト グリッドに対するコンテナの相対位置を設定します。
  • 塗りつぶしボタンには単色のコンテナを使用します。
  • 枠線付きボタンに、フォーカス時にストロークと塗りつぶしの色を使用する。フォーカスされると、コンテナは輪郭とともに塗りつぶし色になります。
  • ワイドボタンと画像ボタンの場合、コンテナの幅はレイアウト グリッドに応じて設定されます。
  • コンテナのサイズ、位置、配置は、親コンテナのスケーリングに合わせて変更できます。

ボタンのコンテナ

テキストボタンとアイコンボタンのコンテナは角に丸みがあります。ワイドボタンと画像ボタンのコンテナは、12 dp の丸みを帯びたコンテナです。

塗りつぶしボタンの幅をレイアウト グリッドに合わせて調整できます。ボタンの幅が広くても、アイコンとラベルテキストは中央に配置されます。
ワイドボタンと画像ボタンの場合、コンテナの幅は親コンテナによって定義されます。コンテンツ アンカーを左側に配置します。

アイコン

アイコンは、ボタンの動作を視覚的に伝え、注意を引くのに役立ちます。ボタンの前側に配置してください。アイコンは常にコンテナ内で垂直方向の中央に配置されます。

サイズの異なるアイコンボタンをグループ化できます。
アイコンとテキストをボタンの中央に縦方向に揃えない
同じボタンに 2 つのアイコンを使用しない

ラベルテキスト

ラベルテキストはボタンの最も重要な要素です。ユーザーがボタンをタップしたときに実行されるアクションを記述します。

ボタンのラベルのテキストでは、最初の単語と固有名詞を大文字にし、文頭を大文字にします。テキストを折り返さないでください。読みやすくするために、ラベルテキストは 1 行にまとめてください。

ボタンのラベルのテキストは、最初の単語と固有名詞を大文字にし、文頭を大文字にします。
画像の上に枠線付きのボタンを配置するときは、ラベルテキストの読みやすさを確保します。コントラストを保つにはスクリムを使用します。

画像

画像ボタンは、常に背景の画像の上にグラデーション オーバーレイとスクリムが付きます。グラデーション オーバーレイは、コンテナの色に応じて設定されます。スクリムは状態に応じて変化します。

ボタングループ

アクション間で一貫したナビゲーションを維持するため、ボタンは行または列に一緒に表示されます。以降のセクションでは、考慮事項について説明します。

階層を通知する

各画面には 1 つのメイン アクションを設定し、通常は横長の目立つボタンで表します。ボタンは見やすく理解しやすいものにする必要があります。 その他のボタンは目立たないようにし、メインの操作からユーザーの注意をそらさないようにします。

グループ内の最初のボタンが、最初にフォーカスが当たるため、プライマリ アクションとして機能します。

線形レイアウトを維持する

ボタン行 ボタン列
  1. 行レイアウト
  2. 列レイアウト

バリアントを論理的に使用する

列レイアウトでは、単一のボタンのバリアントを維持する必要があります。行レイアウトでは、さまざまなバリアントをボタングループにクラスタ化できますが、ロジックが明確である必要があります。塗りつぶしボタンと概要ボタンは同じグループで使用できますが、アクションの階層を明確にする必要があります。

ボタングループ内で同じバリエーションのボタンを使用します。
長いボタンと画像ボタンを 1 つのボタングループに混在させます。
行レイアウトでは、テキストボタンとアイコンボタンを一緒に配置できます。メインボタンの強調を強くします。
列レイアウトでは、1 つのボタン バリアントのみを使用します。