본문 바로가기

PopupMenu를 이용한 팝업 메뉴 구현

by 머니해커_개발자 2017. 7. 7.

1. xml에서 팝업 메뉴 작업

drawable.menu.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"
>
<item
android:icon="@drawable/screenwhite"
android:title="capture screen"
android:id="@+id/menu_capture">
</item>
<item
android:icon="@drawable/extendwindowwhite"
android:title="extend screen"
android:id="@+id/menu_extend">
</item>
<item
android:icon="@drawable/setting2"
android:title="detail setting"
android:id="@+id/menu_detailSetting">
</item>
</menu>


2. PopupMenu 객체 구현

case R.id.settingBtn_normal :
PopupMenu popupMenu = new PopupMenu(getActivity(),v);
getActivity().getMenuInflater().inflate(R.menu.menu_main, popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(menuItemClickListener);
popupMenu.show();
break;

3. 리스너 구현

private void initializeSettingPopup(){
menuItemClickListener = new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
switch(menuItem.getItemId()){
case R.id.menu_capture :
wv.onSavePageAllScreenShot();
break;
case R.id.menu_extend :
invisibleUniverseBar();
break;
case R.id.menu_detailSetting :
Intent appSetting = new Intent(getActivity(), ActivitySetting.class);
startActivity(appSetting);
break;
}
return false;
}
};
}

<결과 화면>

댓글

최신글 전체

이미지
제목
글쓴이
등록일