메뉴 건너뛰기

조회 수 8018 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

Popup Menu : 특정 명령에 따라 특정 위치에 팝업(Popup)되어 서브 메뉴용도로 사용할 수 있는 메뉴


버튼(Button) 을 누르면 그 버튼에 Popup Menu가 나타납니다.

특정 메뉴 아이템을 선택하면 해당하는 Toast가 표시되는 예제소스입니다.



먼저 실행 화면입니다.


         메인화면                             버튼 클릭으로 Popup Menu 발생

22072843556FFAFB1F2DD0  271F3E43556FFAFD124340


277A4543556FFAFF26C846 242A9D43556FFB000C9316 255A3A43556FFB013838ED

 팝업 메뉴(Popup Menu)의 각 menuItem 선택시의 Toast



소스코드

 MainActivity.java

 public class MainActivity extends Activity {


@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

//Button 클릭시에 자동으로 호출되는 callback Method...

    public void mOnClick(View v){

    

     switch( v.getId() ){

     case R.id.btn_popupmenu:

    

     //PopupMenu객체 생성. 

     //생성자함수의 첫번재 파라미터 : Context

     //생성자함수의 두번째 파라미터 : Popup Menu를 붙일 anchor 뷰

     PopupMenu popup= new PopupMenu(this, v);//v는 클릭된 뷰를 의미

    

     //Popup Menu에 들어갈 MenuItem 추가.

     //이전 포스트의 컨텍스트 메뉴(Context menu)처럼 xml 메뉴 리소스 사용

     //첫번재 파라미터 : res폴더>>menu폴더>>mainmenu.xml파일 리소스

     //두번재 파라미터 : Menu 객체->Popup Menu 객체로 부터 Menu 객체 얻어오기

     getMenuInflater().inflate(R.menu.mainmenu, popup.getMenu());

    

     //Popup Menu의 MenuItem을 클릭하는 것을 감지하는 listener 설정

     popup.setOnMenuItemClickListener(listener);

         

     popup.show();//Popup Menu 보이기

    

     break;

     }

    

    }//mOnClick Method..

  

    //Popup Menu의 MenuItem을 클릭하는 것을 감지하는 listener 객체 생성

    //import android.widget.PopupMenu.OnMenuItemClickListener 가 되어있어야 합니다.

    //OnMenuItemClickListener 클래스는 다른 패키지에도 많기 때문에 PopupMenu에 반응하는 패키지를 임포트하셔야 합니다.

    OnMenuItemClickListener listener= new OnMenuItemClickListener() {

@Override

public boolean onMenuItemClick(MenuItem item) {

// TODO Auto-generated method stub

switch( item.getItemId() ){//눌러진 MenuItem의 Item Id를 얻어와 식별

case R.id.save:

Toast.makeText(MainActivity.this, "SAVE", Toast.LENGTH_SHORT).show();

break;

case R.id.search:

Toast.makeText(MainActivity.this, "SEARCH", Toast.LENGTH_SHORT).show();

break;

case R.id.setting:

Toast.makeText(MainActivity.this, "SETTING", Toast.LENGTH_SHORT).show();

break;

}

return false;

}

};

    

}




메뉴아이템을 설계하는 XML 리소스를 만듭니다.

(이전 옵션메뉴 포스트의 xml파일을 가져와도 됨)

res폴더 안에 'menu'라는 이름으로 폴더를 만드세요(절대 이름 틀리면 안됨)

만들어진 menu폴더안에 mainmenu.xml 파일을 하나 추가하세요.


메뉴 XML 리소스 파일

 mainmenu.xml

 <menu xmlns:android="http://schemas.android.com/apk/res/android" >

    

    <item

        android:id="@+id/save" 

        android:title="SAVE"

        android:icon="@android:drawable/ic_menu_save" />

    

    <item

        android:id="@+id/search" 

        android:title="SEARCH"

        android:icon="@android:drawable/ic_menu_search" />

    

    <item

        android:id="@+id/setting" 

        android:title="SETTING"

        android:icon="@android:drawable/ic_menu_edit" />


</menu>



List of Articles
번호 제목 날짜 조회 수
146 네트워크 상태 변화 감지하기(BroadcastReceiver 사용) 2015.07.16 8573
145 서버에서 이미지 불러와서 이미지뷰에 띄우기 file 2015.07.16 8400
144 카카오톡 분석하기 (2) - 카카오톡 암호화 함수 찾기 file 2016.05.26 8241
143 FTPClient 를이용하여 ftp상 서버에서 데이터 다운로드 편 2014.08.27 8174
142 URL을 이용해서 이미지 다운로드 하기 (멀티 쓰레드 이용) file 2015.07.16 8091
141 안드로이드 php 로 mysql json 파싱 하기 2014.08.27 8083
140 안드로이드 팝업창 만들기(xml 내용 집어넣기) file 2015.07.23 8074
139 Android Push GCM 프로젝트 앱 적용 하기(2) file 2016.03.18 8054
» [안드로이드] 팝업메뉴 사용법 file 2015.09.03 8018
137 카카오톡 분석하기 (1) - sqlite 파해치기 file 2016.05.26 7887
136 안드로이드 소스 - 카메라 플래쉬(Flash, 후라시) 앱 file 2015.06.29 7880
135 안드로이드 로그인유지 코드 2015.12.14 7782
134 안드로이드 webview (웹뷰) 개발 #1 - 웹사이트를 어플로 만들어 보자! file 2015.07.17 7775
133 탭 뷰에 탭 추가하기, 아이콘 넣기 file 2015.07.16 7757
132 화면 전환해도 데이터 유지 예제 2015.07.25 7752
131 다운로드 매니저(DownloadManager)에 대해 알아보자 file 2015.07.01 7752
130 안드로이드 기본어플 예제 어플소스 모음 2015.08.17 7733
129 [안드로이드] 리스트 뷰의 한 항목에 대한 컨텍스트 메뉴 만들기 file 2015.09.03 7660
128 AndroidManifest에 선언한 메타데이터(meta-data) 가져오기 2016.06.10 7586
127 안드로이드 webview (웹뷰) 개발 #3 - 초기 로딩화면 (splash) 띄우기 + 아이콘 적용하기 file 2015.07.17 7517
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved