안드로이드 팝업메뉴(Popup menu) 사용하기
- Android Studio
- 2020. 12. 6.
계발에서 개발까지
버튼클릭으로 팝업메뉴 나타내기
버튼하나를 만들어서 클릭시 팝업메뉴를 간단하게 표시해보겠습니다. 그리고 팝업마다 클릭 이벤트를 주는 방법도 알아보겠습니다.
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:gravity="center"
tools:context=".MainActivity">
<Button
android:id="@+id/btn"
android:text="팝업메뉴"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
그리고 res 하위 폴더에 menu폴더를 만들어 줍니다.
popup.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_menu1"
android:title="메뉴 1" />
<item
android:id="@+id/action_menu2"
android:title="메뉴 2" />
<item
android:id="@+id/action_menu3"
android:title="메뉴 3" />
</menu>
이제 팝업메뉴 버튼클릭시 이벤트를 나타내게 한번 작성해보겠습니다.
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View view) {
final PopupMenu popupMenu = new PopupMenu(getApplicationContext(),view);
getMenuInflater().inflate(R.menu.popup,popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
if (menuItem.getItemId() == R.id.action_menu1){
Toast.makeText(MainActivity.this, "메뉴 1 클릭", Toast.LENGTH_SHORT).show();
}else if (menuItem.getItemId() == R.id.action_menu2){
Toast.makeText(MainActivity.this, "메뉴 2 클릭", Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(MainActivity.this, "메뉴 3 클릭", Toast.LENGTH_SHORT).show();
}
return false;
}
});
popupMenu.show();
}
});
}
}
수고하셨습니다.
'Android Studio' 카테고리의 다른 글
안드로이드 다이얼로그 위치 변경 (Top, Center, Bottom)하기 (0) | 2020.12.06 |
---|---|
안드로이드 탭레이아웃 탭 선택 변경 시점 동작 얻기 (0) | 2020.12.05 |
안드로이드 탭레이아웃 (Tab Layout) 프래그먼트 구현하기 (1) | 2020.12.05 |
안드로이드 버튼클릭으로 프래그먼트 (Fragment) 화면 변경하기 (0) | 2020.12.03 |
안드로이드 스튜디오 Boolean 사용하기 (0) | 2020.07.07 |