메뉴 건너뛰기

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

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

간단한 팝업 다이얼로그 띄우는 건 안드로이드에서 제공하는 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.            @Override
29.            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개 뜨는 것을 방지하기 위한 코드입니다.


List of Articles
번호 제목 날짜 조회 수
117 Android Push GCM 프로젝트 앱 적용 하기(2) file 2016.03.18 8956
116 네트워크 연결 상태 및 3G/WIFI 연결상태 체크하기 2016.03.18 7131
115 안드로이드용 채팅프로그램 클라이언트(java), 서버(c#) 소스 file 2016.05.19 11725
114 카카오톡 분석하기 (1) - sqlite 파해치기 file 2016.05.26 10454
113 카카오톡 분석하기 (2) - 카카오톡 암호화 함수 찾기 file 2016.05.26 9600
112 카카오톡 대화내용 가져오기(sqlite3, chat_logs) file 2016.05.26 15134
111 Android 와 JSP 간 파라미터 암복호화 (1) file 2016.05.26 7474
110 Android 와 JSP 간 파라미터 암복호화 (2) 2016.05.26 7741
109 Android 와 JSP 간 파라미터 암복호화 (3) file 2016.05.26 8091
108 Intent (인텐트) 2016.06.07 7626
107 암시적 인텐트를 사용한 인터넷열기, 전화걸기, 문자보내기 [Intent (인텐트)] file 2016.06.07 7736
106 간단한 mp3 플레이어 만들기 , 음악넣기 , 노래재생 file 2016.06.07 14626
105 알아놓으면 좋은 내용정리 2016.06.07 7458
104 Activity Switching / 안드로이드 액티비티 전환 / 화면 전환 file 2016.06.07 8311
103 Activity Data Transfor/ 액티비티 이동간에 데이터 전송하기 file 2016.06.07 7676
102 어댑터 뷰(Adapter View) & 어댑터(Adapter) (1) file 2016.06.08 7852
101 노티피케이션(Notification) 사용법 / Notification.Builder , NotificationManager file 2016.06.10 13470
100 버튼(Button) 패딩 제거 2016.06.10 7651
99 AndroidManifest에 선언한 메타데이터(meta-data) 가져오기 2016.06.10 9321
98 안드로이드스택(Android Stack) 확인 file 2016.06.10 7778
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved