目次
概要
Androidでは戻るボタンが端末に搭載されているうえ、画面左端から右へスワイプさせると前の画面へ戻ることができるが、やはり画面に表示されていた方がわかりやすい。
また、場合によっては表示させないようにしたいときもあると思う。
表示・非表示を切り替える方法を記載する
ソースコード
画面遷移後のソースコードのみ記載
Kotlin
class SubActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_sub)
supportActionBar?.setDisplayHomeAsUpEnabled(false)
supportActionBar?.title = title
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
var returnVal = true
when(item.itemId) {
android.R.id.home -> {
finish()
Log.d("itemId", "android.R.id.home")
}
else -> {
returnVal = super.onOptionsItemSelected(item)
Log.d("else", returnVal.toString())
}
}
return returnVal
}
}
Kotlin詳細
要するに、Activityクラスに搭載されているsetDisplayHomeAsUpEnabledメソッドを呼び出す。
setDisplayHomeAsUpEnabledの引数 | 動作結果 |
true | 戻るボタンが表示される |
false | 戻るボタンが非表示になる |
戻るボタンを押下した時に処理を追加する
onOptionsItemSelectedメソッドをoverrideすることで実装ができる。
item.itemIdで処理を分岐させることができる。
一例として、戻るボタンの場合は「android.R.id.home」となっている。
詳細は参照ページのAndroidデベロッパー(メニュー)を参照。