簡単に知りたいんだよという人向け。
Toolbarの基本的なことについては、詳しくはこちら。
ツールバーにUI部品を表示させるのはとても簡単で、下記のようにレイアウトファイルでToolbarのタグ内にUI部品のタグを記述してあげればいい。今回は下記のようにボタンとチェックボックスを設置してみた。
Toolbarの基本的なことについては、詳しくはこちら。
ツールバーにUI部品を表示させるのはとても簡単で、下記のようにレイアウトファイルでToolbarのタグ内にUI部品のタグを記述してあげればいい。今回は下記のようにボタンとチェックボックスを設置してみた。
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<android.support.v7.widget.Toolbar
android:id="@+id/tbTestToolbar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
android:theme="?attr/actionBarTheme"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent">
<Button
android:id="@+id/btnAction"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<CheckBox
android:id="@+id/checkBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox" />
</android.support.v7.widget.Toolbar>
</android.support.constraint.ConstraintLayout>
あとは普通にインスタンスを取得できるので、コールバックさせるためにリスナーに処理を記述してあげればいい。
//kotlinはfindViewByIdしなくてもアクティビティのメンバ変数に格納されている
btnAction.setOnClickListener {
Log.v("nullpo", "btn")
}
checkBox.setOnCheckedChangeListener { buttonView, isChecked ->
//buttonViewにはcheckboxのインスタンスが入っているので、こんな風にisCheckedが見られる
//なんでisCheckedが引数に入っているのだろう?
Log.v("nullpo",buttonView.isChecked.toString())
}