8. Context Menu (2) - Button
페이지 정보
작성자 관리자 댓글 0건 조회 1,863회 작성일 22-01-28 21:39본문
8. Context Menu (2) - Button
1. 프로젝트 생성
프로젝트명 : ContextMenuTest
2. res/menu 폴더 생성
res 아래에 menu 폴더를 생성한다.
3. menu_item.xml 파일 생성
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/item1"
android:title="item1"></item>
<item
android:id="@+id/item2"
android:title="item2"></item>
</menu>
4. activity_main.xml 수정
버튼으로 수정한다.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button1"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
5. MainActivity.kt 수정
package kr.co.leelab.contextmenutest
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.ContextMenu
import android.view.MenuItem
import android.view.View
import android.widget.Button
import android.widget.Toast
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val button1 : Button = findViewById(R.id.button1)
button1.setOnClickListener {
it.showContextMenu()
}
registerForContextMenu(button1)
}
override fun onCreateContextMenu(
menu: ContextMenu?,
v: View?,
menuInfo: ContextMenu.ContextMenuInfo?
) {
super.onCreateContextMenu(menu, v, menuInfo)
when(v?.id) {
R.id.button1 -> {
menu?.setHeaderTitle("메뉴 선택")
menuInflater.inflate(R.menu.menu_item, menu)
}
}
}
override fun onContextItemSelected(item: MenuItem): Boolean {
when(item.itemId) {
R.id.item1 -> {
Toast.makeText(this, "item1 선택" , Toast.LENGTH_SHORT).show()
}
R.id.item2 -> {
Toast.makeText(this, "item2 선택" , Toast.LENGTH_SHORT).show()
}
}
return super.onContextItemSelected(item)
}
}
6. 실행
버튼을 누르고 ContextMenu 를 확인한다.
댓글목록
등록된 댓글이 없습니다.