【Android Studio】マテリアルデザインButtonの実装方法!見た目を簡単に変更

この記事からわかること

  • Android StudioButton実装する方法
  • マテリアルデザインボタンを実装するには?
  • テキストのみボタンテキストとアイコンボタンアウトラインテキストとアイコンボタンで背景色ありトグルボタントグルボタン(アイコン)の実装方法

index

[open]

\ アプリをリリースしました /

みんなの誕生日

友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-

posted withアプリーチ

Android StudioでButtonのサイズや角丸、枠などを変更したカスタムボタンを作成する方法をまとめていきます。

環境

Buttonのデフォルトのデザイン

おすすめ記事:【Kotlin】Android StudioでButtonの使い方!クリックイベント

Android StudioではButtonを設置するとデフォルトのデザインが適応されるようになっています。Android Studio Flamingoでは以下のような紫色で角が丸くなったボタンが実装されます。

【Android Studio】Buttonにアイコンを設定する方法!デザインやテーマのカスタマイズ

この際のButtonのXMLは以下のようになります。

<Button
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="Button" />

マテリアルデザインButtonの実装方法

公式:MATERIAL DESIGN-Buttons

正直マテリアルデザインが何かよくわかっておりませんが、色々とボタンのデザインを変更できたので共有しておきます。

テキストのみボタン

テキストのみボタンを実装するには@style/Widget.MaterialComponents.Button.TextButtonstyleに指定します。

【Android Studio】マテリアルデザインButtonの実装方法!見た目を簡単に変更
<Button
  android:id="@+id/button1"
  style="@style/Widget.MaterialComponents.Button.TextButton"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="Text button" />

テキストとアイコンボタン

>テキストとアイコンボタンを実装するには@style/Widget.MaterialComponents.Button.TextButton.Iconstyleに指定します。

【Android Studio】マテリアルデザインButtonの実装方法!見た目を簡単に変更
<Button
  style="@style/Widget.MaterialComponents.Button.TextButton.Icon"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="Text button"
  app:icon="@drawable/android" />

アウトライン

アウトラインボタンを実装するには@style/Widget.MaterialComponents.Button.OutlinedButton.Iconstyleに指定します。

【Android Studio】マテリアルデザインButtonの実装方法!見た目を簡単に変更
<Button
  style="@style/Widget.MaterialComponents.Button.OutlinedButton.Icon"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="Text button"
  app:icon="@drawable/android" />

テキストとアイコンボタンで背景色あり

テキストとアイコンボタンで背景色ありなボタンを実装するには@style/Widget.MaterialComponents.Button.Iconstyleに指定します。

【Android Studio】マテリアルデザインButtonの実装方法!見た目を簡単に変更
<Button
  style="@style/Widget.MaterialComponents.Button.Icon"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="Text button"
  app:icon="@drawable/android" />

トグルボタン

トグルボタンを実装するにはMaterialButtonToggleGroupタグの中に?attr/materialButtonOutlinedStylestyleに指定したボタンを配置します。

【Android Studio】マテリアルデザインButtonの実装方法!見た目を簡単に変更
<com.google.android.material.button.MaterialButtonToggleGroup
  android:id="@+id/toggleButton"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">

  <Button
      android:id="@+id/toggle_button1"
      style="?attr/materialButtonOutlinedStyle"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Button 1" />

  <Button
      android:id="@+id/toggle_button2"
      style="?attr/materialButtonOutlinedStyle"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Button 2" />

  <Button
      android:id="@+id/toggle_button3"
      style="?attr/materialButtonOutlinedStyle"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Button 3" />
</com.google.android.material.button.MaterialButtonToggleGroup>

トグルボタン(アイコン)

トグルボタン(アイコン)を実装するにはMaterialButtonToggleGroupタグの中に@style/Widget.App.Button.OutlinedButton.IconOnlystyleに指定したボタンを配置します。

【Android Studio】マテリアルデザインButtonの実装方法!見た目を簡単に変更
<com.google.android.material.button.MaterialButtonToggleGroup
  android:id="@+id/toggleButton1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">

  <Button
      style="@style/Widget.App.Button.OutlinedButton.IconOnly"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      app:icon="@drawable/android" />

  <Button
      style="@style/Widget.App.Button.OutlinedButton.IconOnly"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      app:icon="@drawable/android" />

  <Button
      style="@style/Widget.App.Button.OutlinedButton.IconOnly"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      app:icon="@drawable/android" />
</com.google.android.material.button.MaterialButtonToggleGroup>

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。

ご覧いただきありがとうございました。

searchbox

スポンサー

ProFile

ame

趣味:読書,プログラミング学習,サイト制作,ブログ

IT嫌いを克服するためにITパスを取得しようと勉強してからサイト制作が趣味に変わりました笑
今はCMSを使わずこのサイトを完全自作でサイト運営中〜

New Article

index