티스토리 뷰
안드로이드/코틀린
[Android Studio] 안드로이드 컨텍스트 메뉴 보여주기 짧은클릭, 긴 클릭 android create context menu short click, long click
eqrw105 2021. 4. 27. 21:38[Android Studio] 안드로이드 컨텍스트 메뉴 보여주기 짧은 클릭, 긴 클릭 android create context menu short click, long click
1. res -> menu -> menu.xml 작성
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/menu2"
android:title="메뉴1" />
<item android:id="@+id/menu1"
android:title="메뉴2" />
</menu>
2. res -> layout -> activity_main.xml -> view 작성
<Button
android:id="@+id/button_menu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent" />
3. MainActivity.kt 작성
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//아래 두 가지 중에 선택해서 사용
//길게 클릭 했을때 메뉴 나오는 코드
registerForContextMenu(button_menu)
//짧게 클릭 했을때 메뉴 나오는 코드
button_menu.setOnClickListener {
this.registerForContextMenu(it)
openContextMenu(it)
unregisterForContextMenu(it)
}
}
override fun onCreateContextMenu(menu: ContextMenu?, v: View?, menuInfo: ContextMenu.ContextMenuInfo?) {
val inflater = menuInflater
inflater.inflate(R.menu.picture_detail, menu)
super.onCreateContextMenu(menu, v, menuInfo)
}
override fun onContextItemSelected(item: MenuItem): Boolean {
when(item.itemId){
R.id.menu1 -> {
Toast.makeText(this, "1", Toast.LENGTH_SHORT).show()
}
R.id.menu2 -> {
Toast.makeText(this, "2", Toast.LENGTH_SHORT).show()
}
}
return super.onContextItemSelected(item)
}
'안드로이드 > 코틀린' 카테고리의 다른 글
[Android Studio] 웹뷰 화면 띄우기 코틀린 Webview Kotlin (0) | 2021.04.29 |
---|---|
[Android Studio] 키보드 올리기, 내리기 안드로이드 스튜디오 Input Keyboard show, hide (0) | 2021.04.28 |
[Android Studio] 인텐트로 URL 웹사이트 팝업 열기 Intent url website popup (0) | 2021.04.26 |
[Android Studio]모든 액티비티 종료하기 코틀린 Activity All Finish Kotlin (0) | 2021.04.25 |
[Android Studio]Glide와 Picasso 라이브러리 이미지 주소로 불러오기 library image load to uri (0) | 2021.04.23 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- react.js useEffect
- amplify build error
- rn oss
- non-zero exit code detected
- next.js ssr deploy
- 깃랩 잔디 옮기기
- 카카오 해시키
- Build failed because of webpack errors
- 코틀린
- 안드로이드 스튜디오
- 라이브러리 라이센스
- gitlab mirror
- next.js useEffect
- react native 오픈소스 라이선스
- nextjs ssr deploy
- react native oss
- 안드로이드 스튜디오 해시키
- next useEffect
- 깃허브에서 깃랩으로
- github mirror
- kotlin
- 깃허브 잔디 옮기기
- 안드로이드 해시키
- 깃랩에서 깃허브로
- room error
- Android Studio
- kakao api notworking
- 커밋 이메일 변경
- amplify next.js
- rn 오픈소스 라이센스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함