안드로이드/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 |
TestSimpleDialog.zip