간단하게 PopupWindow를 만들 수 있다.
Popup으로 사용할 xml 을 작성하고
inflate 를 사용하여 xml을 실제 View 객체로 만든다.
기타 설명은 코드 주석에 포함되어있다.
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 31 32 33 34 35 36 | private PopupWindow mPopupWindow ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button popup = (Button) findViewById(R.id.show); popup.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { View popupView = getLayoutInflater().inflate(R.layout.dialog_activity, null); mPopupWindow = new PopupWindow(popupView, LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); //popupView 에서 (LinearLayout 을 사용) 레이아웃이 둘러싸고 있는 컨텐츠의 크기 만큼 팝업 크기를 지정 mPopupWindow.setFocusable(true); // 외부 영역 선택히 PopUp 종료 mPopupWindow.showAtLocation(popupView, Gravity.CENTER, 0, 0); Button cancel = (Button) popupView.findViewById(R.id.Cancel); cancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mPopupWindow.dismiss(); } }); Button ok = (Button) popupView.findViewById(R.id.Ok); ok.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "Ok", Toast.LENGTH_SHORT).show(); } }); } }); } |
'Android 기법 > # Study' 카테고리의 다른 글
[Android/안드로이드]CustomProgress Dialog 만들기[피카츄 Progress] (0) | 2017.02.09 |
---|---|
[Android/안드로이드]Jsoup을 이용하여 WebView 로그인 쿠키 이용하기[Login/Cookie] (1) | 2017.02.03 |
[Android/안드로이드]간단하게 FireBase의 RealTime DataBase 사용하기[로그인,회원가입][GitHub] (5) | 2017.01.25 |
[Android/안드로이드]Target View/타겟 이펙트[GitHub예제][MaterialTapTargetPrompt] (0) | 2017.01.22 |
[Android/안드로이드]ViewPager를 쉽게 사용하기[GitHub 예제/Example] (0) | 2017.01.21 |
댓글