간단한 팝업 다이얼로그 띄우는 건 안드로이드에서 제공하는 AlertDialog을 이용하면 쉽게 구현할 수 있습니다.
하지만, 이 팝업 다이얼로그를 사용자 마음대로 바꾸고 싶을 때는
LayoutInflater 을 이용해서 사용자가 직접 만든 View를 생성해서 AlertDialog에 연결해서 보여줄 수 있습니다.
그 간단한 예는 다음과 같습니다.
01.private AlertDialog m_adlgConnectionInfo = null;02. 03.private void ShowConnectionInfoPopup()04.{05. if (m_adlgConnectionInfo != null)06. {07. m_adlgConnectionInfo.dismiss();08. }09. 10. LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);11. View view = inflater.inflate(R.layout.comp_connected_device, null);12. ImageView ivServer = (ImageView)view.findViewById(R.id.iv_con_server);13. TextView tvServer = (TextView)view.findViewById(R.id.tv_con_server);14. ImageView ivRender = (ImageView)view.findViewById(R.id.iv_con_render);15. TextView tvRender = (TextView)view.findViewById(R.id.tv_con_render);16. 17. DMSContentItem dmsContentsItem = m_ImageGallery.GetDMCContentItem();18. ivServer.setImageBitmap(AllShareMainData.getDeviceIcon(dmsContentsItem));19. tvServer.setText(dmsContentsItem.getDeviceItem().getFriendlyName());20. ivRender.setImageResource(R.drawable.dms_micro_hhp);21. tvRender.setText("My Device");22. 23. m_adlgConnectionInfo = new AlertDialog.Builder(this)24. .setView(view)25. .setTitle("Connected devices")26. .setPositiveButton("OK", new DialogInterface.OnClickListener()27. {28. @Override29. public void onClick(DialogInterface dialog, int which)30. {31. dialog.dismiss();32. }33. })34. .create();35. 36. m_adlgConnectionInfo.show();37.}맨 윗줄에 있는 m_adlgConnectionInfo이 null 이 아닌 경우 dismiss()를 호출하는 이유는
팝업 버튼을 연속으로 두 번 눌렀을 때 팝업창이 2개 뜨는 것을 방지하기 위한 코드입니다.