안드로이드 개발자의 창고
[41일차 Android] ActionBar Navigation 본문
출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT
📖 ActionBar Navigation
- ActionBar에 아이콘을 배치하여 뒤로가기 기능을 구현할 수 있다.
- 아이콘을 표시한다고 해서 뒤로 가기 기능이 생기는 것은 아니기 때문에 직접 구현을 해야한다.
예제 코드
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="MainActivity"
android:textAppearance="@style/TextAppearance.AppCompat.Large" />
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="SecondActivity 실행" />
</LinearLayout>
activity_second.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
tools:context=".SecondActivity">
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="SecondActivity"
android:textAppearance="@style/TextAppearance.AppCompat.Large" />
</LinearLayout>
MainActivity.kt
class MainActivity : AppCompatActivity() {
lateinit var activityMainBinding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
activityMainBinding = ActivityMainBinding.inflate(layoutInflater)
setContentView(activityMainBinding.root)
activityMainBinding.run{
button.setOnClickListener {
val newIntent = Intent(this@MainActivity, SecondActivity::class.java)
startActivity(newIntent)
}
}
}
}
SecondActivity.kt
class SecondActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_second)
// Homebutton 활성화
supportActionBar?.setHomeButtonEnabled(true)
// HomeButton 노출
supportActionBar?.setDisplayHomeAsUpEnabled(true)
// 아이콘 변경
// supportActionBar?.setHomeAsUpIndicator(R.mipmap.ic_launcher)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when(item.itemId){
android.R.id.home -> {
// 현재 Activity 종료
finish()
}
}
return super.onOptionsItemSelected(item)
}
}
결과
'Computer > Android' 카테고리의 다른 글
[41일차 Android] Fragment에서의 ToolBar 사용 (0) | 2023.07.01 |
---|---|
[41일차 Android] ToolBar (0) | 2023.07.01 |
[41일차 Android] ActionView (0) | 2023.07.01 |
[41일차 Android] ActionBar (0) | 2023.07.01 |
[39일차 Android] Fargment (0) | 2023.07.01 |