자 이번 시간은 무슨시간? 재미있는 안드로이드 시간~
오늘은 앱상에 간단한 알림 다이얼로그를 띄워서 YES를 클릭하면 저장한 그림을 띄우는 걸 해보겠다~
저번 포스팅에 연장선으로 메인 Activity에서 버튼을 클릭하면 추가된 Activity가 실행되어서 새로운 Layout이 보이고
해당 Layout에서 하나있는 버튼을 클릭하면 알림 다이얼로그가 생성되고 다이얼로그에서 YES를 클릭하면 그림이 뜰 것이다.
첫째, 두번째 Activity에서 버튼 클릭 리스너를 만든다. [이건 첫번째 포스팅에서 했으니까 PASS~]
둘째, OnClick메소드에서 AlertDialog에 관련된 소스를 작성한다.
먼저 AlertDialog에는 그림과 같은 구성을 가진다.
(그림 출처 : croute's 블로그)
그리고 AlertDialog를 생성하는데 이때 Builder라는 클래스를 사용하게된다.
다음과 같이 Builder를 생성하고
1 | new AlertDialog.Builder(this) |
1 2 3 4 5 6 7 8 9 10 11 | .setMessage("메인 메시지가 출력되는 곳") .setPositiveButton("클릭!", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //다이얼로그에서 버튼을 클릭했을때 실행되는 문장 dialog.dismiss(); } }) |
drawable resource를 등록하라고 하는데 최초 아무것도 보이지 않아야하기 때문에 투명한 것을 골라 선택했다.
그리고 아래와 같은 의미없는 그림을 준비해서 이클립스 작업창의 res > drawable-hdpi 폴더에 드래그앤 드랍해줘서 추가한다.
이제 리소스는 모두 준비되었고 소스코딩을 통해 버튼을 누르면 저 빨간색이 나타나도록 해보자~!
1 2 3 | Drawable drawable = getResources().getDrawable(R.drawable.sample); ImageView imageView = (ImageView)findViewById(R.id.imageView1); imageView.setImageDrawable(drawable); |
위 소스는 onClick{ } 함수 안에 들어간다. 코드 내에서 sample은 빨간색 그림파일의 이름이고 imageView1은 우리가 등록한 ImageView의 id이다.
최종적으로 setImageDrawable()에 의해 그림이 출력 될 것이다.
그러면 마지막으로 전체 소스를 보자
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | new AlertDialog.Builder(this) .setMessage("메인 메시지가 출력되는 곳") .setPositiveButton("클릭!", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Drawable drawable = getResources().getDrawable(R.drawable.sample); ImageView imageView = (ImageView)findViewById(R.id.imageView1); imageView.setImageDrawable(drawable); dialog.dismiss(); } }) |
전체적으로 보면 매우 간단하다. 그럼 포스팅 끝~~
'IT > 한이음 IT멘토링(Android Programming)' 카테고리의 다른 글
res> style.xml에 테마관련 오류 해결법 (0) | 2014.09.14 |
---|---|
06. AsyncTask (0) | 2014.09.06 |
05. Notification (0) | 2014.09.01 |
02. Activity 생성 및 시작하기 (0) | 2014.08.13 |
01. 버튼 클릭 리스너 (0) | 2014.08.13 |