Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- sub query
- 쿠키
- parcel
- Spring
- FIle
- snowpack
- 안드로이드
- 코틀린
- 함수
- 상속
- 게시판
- degit
- kotlin
- 왕초보
- webpack
- Android
- java#왕초보
- 숫자
- java
- SQL
- Spinner
- React
- 시큐어코딩
- 스프링
- 미니게임
- 버전일치
- 답글
- 스타일보험
- git
- 오버라이드
Archives
- Today
- Total
YSHUSH
액션 바(Action Bar) 본문
화면 상단에 액션바를 만들어보자

1. app - src - res -> 새로만들기 - 경로 - menu 생성

2. res폴더 내에 생성한 menu폴더에 새로만들기 - XML - App Actions XML File -> menu_main.xml 생성

3. menu_main.xml
<?xml version ="1.0" encoding ="utf-8"?>
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<!-- ActionBar -->
<item
android:id="@+id/menu_search"
android:icon="@android:drawable/ic_menu_search"
android:title="검색"
app:showAsAction="always|withText" />
<item
android:id="@+id/menu_chat"
android:icon="@android:drawable/sym_action_chat"
android:title="채팅"
app:showAsAction="always" />
<item
android:id="@+id/menu_email"
android:icon="@android:drawable/sym_action_email"
android:title="이메일"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_setting"
android:title="세팅"
app:showAsAction="never" />
</menu>
위의 코드 중 이 코드는 안드로이드에서 지원되는 아이콘을 불러와준다.
android:icon="@android:drawable/ic_menu_search"
android:icon="@android:drawable/sym_action_chat"
android:icon="@android:drawable/sym_action_email"
4. AndroidManifest.xml - meta-data 부분 수정
<meta-data
android:name="com.google.android.actions"
android:resource="@menu/menu_main"/>
5. activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
6. MainActivity.kt
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//supportActionBar?.setDisplayShowTitleEnabled(false)
}
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.menu_main, menu)
return super.onCreateOptionsMenu(menu)
//return false
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
// println("onOptionsItemSelected~~~!")
val textView:TextView = findViewById<TextView>(R.id.textView)
when(item?.itemId){
R.id.menu_search -> textView.text = "검색 클릭"
R.id.menu_chat -> textView.text = "채팅 클릭"
R.id.menu_email -> textView.text = "이메일 클릭"
R.id.action_setting -> textView.text = "세팅 클릭"
}
return super.onOptionsItemSelected(item)
}
}
상단 주석 2줄을 풀고 return값을 false로 변경해주면 액션바가 보이지 않게 된다.

이렇게 하면 textView가 액션바 내에 메뉴들을 누를때 마다 그에 맞는 텍스트를 보여준다.
'Coding > Android(kotlin)' 카테고리의 다른 글
Context menu (0) | 2022.02.08 |
---|---|
체크박스 (0) | 2022.02.08 |
라디오 버튼 (0) | 2022.02.08 |
버튼(Button) 클릭시 alert dialog띄우기 (0) | 2022.02.08 |
버튼(Button) 클릭시 시간출력 이벤트 만들기 (0) | 2022.02.08 |