< 개발 환경 > < 프로젝트 적용 > |
안드로이드/Android PopupWindow를 사용해 보자 ~!
이번 시간에는 PopupWindow를 사용법에 대해 알아 보겠습니다. 팝업 윈도우란 기본적으로 Dialog의 특성을 지녔다고 보시면 되는데, Dialog처럼 혼자 Focus를 받고 Dialog 종료시 까지는 아무런 작업을 할 수 없는 Dialog가 아니라 화면에 Dialog처럼 표시가 되더라도 나머지 기능들을 동시에 사용할 수 있다고 보시면 됩니다.
자 그럼 예제를 통해 알아 보겠습니다.
package arabiannight.tistory.com.popupwindow; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.WindowManager.LayoutParams; import android.widget.Button; import android.widget.PopupWindow; import android.widget.Toast; public class MainActivity extends Activity { private PopupWindow mPopupWindow; private Button btn_Popup; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_Popup = (Button) findViewById(R.id.btn_click); } public void onClick(View v) { switch (v.getId()) { case R.id.btn_click: View popupView = getLayoutInflater().inflate(R.layout.popup_window, null); mPopupWindow = new PopupWindow(popupView, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); /** * PopupWindow Show 메서드 * showAsDropDown(anchor, xoff, yoff) * @View anchor : anchor View를 기준으로 PopupWindow 표시 (상,하) * PopupWindow가 최대한 화면에 표시되도록 시스템이 설정해 준다. * xoff, yoff : anchor View를 기준으로 PopupWindow를 표시된것을 * 기준으로 xoff는 x좌표, yoff는 y좌표 만큼 이동 한다. * @int xoff : -숫자(화면 왼쪽으로 이동), +숫자(화면 오른쪽으로 이동) * @int yoff : -숫자(화면 위쪽으로 이동), +숫자(화면 아래쪽으로 이동) * achor View 를 덮는 것도 가능 * 화면바깥 좌우, 위아래로 이동 가능 (짤린 상태로 표시됨) */ mPopupWindow.setAnimationStyle(-1); // 애니메이션 설정(-1:설정안함, 0:설정) mPopupWindow.showAsDropDown(btn_Popup, 50, 50); /** * update() 메서드를 통해 PopupWindow의 좌우 사이즈, x좌표, y좌표 * anchor View까지 재설정 해줄수 있습니다. */ // mPopupWindow.update(anchor, xoff, yoff, width, height)(width, height); break; case R.id.btn_close: if (mPopupWindow != null && mPopupWindow.isShowing()) { mPopupWindow.dismiss(); } break; case R.id.btn_bottom: Toast.makeText(MainActivity.this, "Bottom UI 입니다.", Toast.LENGTH_SHORT).show(); break; default: break; } } }
파일첨부 :
위의 스크린샷을 보시면 PopupWindow가 알림창 아래에서 짤려서 표시 된 것을 보실 수 있습니다. 만약 좌표를 저렇게 주신다면 짤린 형태로 표시되게 되구요. 안드로이드 Dialog와는 다르게 동시에 다른 View들의 이벤트들을 처리 할 수 있습니다.
사용 하실 때에는 xml 레이아웃을 만드신 후 inflate 시켜 주시면 됩니다.
감사합니다.
'Android > Dialog' 카테고리의 다른 글
안드로이드/Android Dialog의 각종 속성들 정리 ~! (3) | 2013.02.03 |
---|---|
안드로이드/Android PopupWindow를 사용해 보자 ~! (NEW) (4) | 2013.01.19 |
안드로이드/Android Activity theme를 이용한 Popup(Dialog)창 만들기~! (1) | 2013.01.04 |
안드로이드/Android Handler를 사용한 ProgressDialog 띄우기 (1) | 2012.06.28 |
안드로이드/Android 다이얼로그 안에서 onClick() 메서드 안에서 Activity finish() 호출 하기 (0) | 2012.06.22 |