메뉴 건너뛰기

조회 수 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
번호 제목 날짜 조회 수
257 버튼 이벤트 추가하기 file 2021.03.31 191
256 안드로이드 스튜디오 - 필수 재정의 함수 자동 코드 추가 file 2021.03.29 194
255 버튼 이벤트 file 2021.03.31 205
254 안드로이드 - 컨텍스트 메뉴(Context Menu) 사용 예제 file 2021.04.01 207
253 안드로이드 액티비티 세로고정 2021.09.14 207
252 안드로이드 - 인텐트(Intent)를 활용한 액티비티(Activity) 생성 및 실행하기 file 2021.03.31 213
251 안드로이드 - 액티비티(Activity)와 액티비티 생명 주기(Activity Life Cycle) file 2021.04.01 225
250 안드로이드 - setContentView()와 레이아웃 전개자(LayoutInflater) 2021.04.01 227
249 안드로이드 가상머신 실행 속도 빠르게 하기 file 2021.03.31 228
248 버튼 생성, 이벤트 처리 file 2021.03.31 236
247 안드로이드 - 스타일 리소스(Style Resource) 사용하기 <style> file 2021.03.31 238
246 안드로이드 - 랠러티브 레이아웃(Relative Layout) file 2021.03.29 239
245 This Handler class should be static or leaks might occur 시 해결법 2020.12.14 240
244 Fragment를 통한 하단탭 예제1 file 2020.12.14 242
243 App 실행 file 2021.03.31 244
242 안드로이드 - SQLiteDatabase 구현하기 file 2021.04.01 249
241 Virtual Device , 디자인 화면 file 2021.03.31 260
240 setContentView()와 레이아웃 전개자(LayoutInflater) 2021.03.31 266
239 안드로이드 - AsyncTask 구현 예제 file 2021.04.01 280
238 안드로이드 - Serializable를 활용한 다른 액티비티에 객체(Object) 전달하기 file 2021.03.31 281
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved