Android Kotlin基礎講座 02.2: ユーザー対話型にする

目次

タスク:ボタンの追加・スタイリングをする

ボタンはユーザーがタップし、何らかの処理を行わせるためのUI要素です。ボタンは文字、またはアイコン、またはその両方から構成されています。

このタスクではユーザーがニックネームを入力し終わったときにタップするためのDONEボタンを追加します。ボタンをタップするとEditTextビューをニックネームを表示するTextViewビューに置き換えます。ユーザーはTextViewビューをタップしてニックネームを更新することができます。

ステップ1:DONEボタンを追加する

  1. パレットからコンポーネントツリーにButtonをドラッグしてください。buttonはnickname_editエディットテキストの下に配置してください。

  2. doneという新しいstringリソースを追加してください。値はDoneにします。
<string name="done">Done</string>
  1. 追加したボタンのアトリビュートパネルから以下の表のように属性を設定してください。
属性
iddone_button
text@string/done
layout_gravitycenter_horizontal
layout_widthwrap_content

今回のlayout_gravity属性はこのビューの親レイアウトであるLinearLayoutの真ん中にこのビューを配置するようにしています。

  1. styleをWidget.AppCompat.Button.Coloredに変更してください。これはAndroidによって事前に定義されちるスタイルの一つです。ドロップダウンメニューからでもResourcesウィンドウからでも選択できます。



    このスタイルはボタンの色をアクセントカラーであるcolorAccentリソースの色に変更します。colorAccentリソースはres/values/colors.xmlファイルに定義されています。

colors.xmlファイルはアプリに使われるデフォルトの色も含んでいます。アプリの必要に応じて、新しいカラーリソースを追加することも、既存のカラーリソースを変更することもできます。

サンプルcolors.xmlファイル:

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <color name="colorPrimary">#008577</color>
   <color name="colorPrimaryDark">#00574B</color>
   <color name="colorAccent">#D81B60</color>
</resources>

ステップ2:DONEボタンをスタイリングする

  1. アトリビュートパネルからLayout_Margin > Topを選択して、トップにマージンを追加してください。マージンの値はdimens.xmlファイルに事前に定義しておいたlayout_marginにしてください。
  2. fontFamily属性の値をドロップダウンメニューからrobotoにしてください。

  3. Textタブに表示を切り替えて、追加したボタンに生成されたXMLコードを確認してください。
<Button
   android:id="@+id/done_button"
   style="@style/Widget.AppCompat.Button.Colored"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_gravity="center_horizontal"
   android:layout_marginTop="@dimen/layout_margin"
   android:fontFamily="@font/roboto"
   android:text="@string/done" />

ステップ3:カラーリソースを変更する

このステップではアクティビティのアプリバーに合うように、ボタンのアクセントカラーを変更します。

  1. res/values/colors.xmlを開いて、colorAccentの値を#76bf5eに変更してください。
<color name="colorAccent">#76bf5e</color>

ファイルエディターの左側の余白に色を指定する16進数のコードに対応した色が表示されています。

デザインエディターからボタンの色が変わっていることを確認してください。

  1. アプリを起動してください。エディットテキストの下に整ったDONEボタンが表示されていますね。