개인공부용123 프로그래밍 블로그
[안드로이드] Dialog 생성하기 본문
아래와 같은 알림메세지 창을 띄우는 코드 및 설명입니다.
가운데 있는 버튼을 클릭시 위와 같은 다이얼로그 창을 띄워줍니다.
아래는 소스코드입니다.
public class MainActivity extends Activity { final Context context = this; private Button button; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button = (Button) findViewById(R.id.buttonAlert); // 버튼 리스너 추가 button.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context); // 빌더 얻기 // 제목 설정 alertDialogBuilder.setTitle("앱을 종료하시겠습니까"); // 다이얼로그 메세지 생성 alertDialogBuilder .setMessage("예 or 모르겠음 or 아니요") .setCancelable(false) .setPositiveButton("예", // Positive 버튼 기능 작성 new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { MainActivity.this.finish(); // 앱종료 } }) .setNeutralButton("모르겠음", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog,int id){ Toast.makeText(context,"모르겠음",Toast.LENGTH_SHORT).show(); } }) .setNegativeButton("아니오", //Negative 버튼 기능 작성 new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); // 다이얼로그 취소 } }); // 다이럴로그 객체 얻어오기 AlertDialog alertDialog = alertDialogBuilder.create(); // 다이얼로그 보여주기 alertDialog.show(); } }); } }
Dialog를 생성하기위해서 먼저 AlertDialog.Builder를이용해서 Builder를 얻어와야합니다.
그후 Dialog는 Positive, Negative, Neutral 세가지 버튼을 이용할수있습니다. 해당 버튼의 onClick메소드를 작성해줍니다
다음 아까 얻은 Builder를이용해서 다이얼로그 객체를 얻어온후 show로 보여줍니다.
위함수중 setCancelable함수는 Back버튼등 특수한 버튼 클릭시 다이얼로그를 닫을것인지 닫지않을것인지를 설정할 수 있습니다.
만약 setCancelable(true)일경우 Back버튼 클릭시 닫힙니다. false일경우 Back버튼을 클릭해도 다이얼로그가 닫히지않습니다.
'Android Studio' 카테고리의 다른 글
[안드로이드] 버튼으로 PopupMenu 실행 (1) | 2017.03.16 |
---|---|
[안드로이드] AppCompatActivity 타이틀바 제거 (2) | 2017.02.07 |
[안드로이드 스튜디오] 버튼으로 팝업메뉴 호출 (0) | 2017.02.07 |
[안드로이드 스튜디오] View의 GONE과 INVISIBLE의 차이 (0) | 2016.12.27 |
[안드로이드 스튜디오] 이미지를 생성하고 제거하는법 (0) | 2016.12.27 |