안드로이드/Android 기본 Dialog, inflate Dialog
AlertDialog를 사용한 기본 Dialog 예제 입니다.
package arabiannight.tistory.com.simpledialog; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class TestSimpleDialogActivity extends Activity implements OnClickListener { private AlertDialog mDialog = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); setLayout(); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_base: mDialog = createDialog(); mDialog.show(); break; case R.id.btn_inflate: mDialog = createInflaterDialog(); mDialog.show(); break; default: break; } } /** * base 다이얼로그 * @return ab */ private AlertDialog createDialog() { AlertDialog.Builder ab = new AlertDialog.Builder(this); ab.setTitle("Title"); ab.setMessage("내용"); ab.setCancelable(false); ab.setIcon(getResources().getDrawable(R.drawable.ic_launcher)); ab.setPositiveButton("확인", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { setDismiss(mDialog); } }); ab.setNegativeButton("취소", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { setDismiss(mDialog); } }); return ab.create(); } /** * Infalter 다이얼로그 * @return ab */ private AlertDialog createInflaterDialog() { final View innerView = getLayoutInflater().inflate(R.layout.dialog_layout, null); AlertDialog.Builder ab = new AlertDialog.Builder(this); ab.setTitle("Title"); ab.setView(innerView); ab.setPositiveButton("확인", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { setDismiss(mDialog); } }); ab.setNegativeButton("취소", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { setDismiss(mDialog); } }); return ab.create(); } /** * 다이얼로그 종료 * @param dialog */ private void setDismiss(Dialog dialog){ if(dialog != null && dialog.isShowing()) dialog.dismiss(); } /* * Layout */ private Button baseButton = null; private Button inflateButton = null; private void setLayout(){ baseButton = (Button) findViewById(R.id.btn_base); inflateButton = (Button) findViewById(R.id.btn_inflate); baseButton.setOnClickListener(this); inflateButton.setOnClickListener(this); } }
파일첨부 :
스크린샷 :
'Android > Dialog' 카테고리의 다른 글
안드로이드/Android Handler를 사용한 ProgressDialog 띄우기 (1) | 2012.06.28 |
---|---|
안드로이드/Android 다이얼로그 안에서 onClick() 메서드 안에서 Activity finish() 호출 하기 (0) | 2012.06.22 |
안드로이드/Android "잠시만 기다려 주세요." ProgressDialog 띄우기 (2) | 2012.01.27 |
안드로이드/Android Custom Dialog 만들기 (3) | 2011.12.03 |
안드로이드/Android Inflater 적용한 Alertdialog 만들기 (2) | 2011.12.03 |