- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[안드로이드] 제6강좌 - 다이얼로그 본문
@@@ 다이얼 로그 @@@
- Dialog : Activity와 사용자간의 상호작용을 주기 위해서 사용 됨.
작은 윈도우를 사용하여 표시된다.
응용프로그램에 관련되 알림과 경고같은 용도로 사용된다.
--- AlertDialog : Yes(PositiveButtone) or No(NegativeButton) 와 같은 버튼
버튼을 3개까지 사용할 수 있다.(긍정,부정,중립)
체크박스를 갖거나, 라디오 버튼을 갖는 선택 가능한 항목 리스트를 가질 수 있다.
창에 메세지와 타이틀이 포함되어야 함.
Dialog가 이벤트를 가지고 있다.
* 버튼 1개 : Application 실행할때, 치명적 오류가 발생하였을 때 사용. ex) 선택권한 없고 종료한다고 알려주기만 하는 것.
* 버튼 2개 : 사용자에서 선택이 가능하도록 구현할 때. ex)Application Update
※ Xml에서 <>로 표현되었던 <Button>,<Textview>,<EditText>는모두 클래스로써 java에서 new Button()으로 해석.
Button()를 Button class를 생성하는 함수 호출하는 의미.
AlertDialog는 xml에서 생성불가. java에서 AlertDialog.Builder를 이용하여 생성.(new로 생성하지 않음)
AlertDialog.Builder는 new AlertDialog.Builder(this)로 new를 이용하여 생성됨.
(this)는 내 AlertDialog 위에 만들겠다는 말.
1. AlertDialog.Builder <= new로 생성
2. Bulider를 셋팅해야함(set~) - Message
- Listener : Click이 필요
1) 리스너(클래스) DialogInterface OnClickListener
2)콜백함수 onClick( )
- Label : "문자열"로 입력
3. builder.creat() : Bulider를 다 꾸며둔 뒤 마지막에 생성
※ setTitle(),setMessage() : 타이틀 이름과 알림창의 메세지를 표시하는데 사용
--- ProgressDialog : Alter에서 파생된다.
new 연산자를 이용하여 생성된다.
dialog.setIndeterminate(false) : 게이지가 올라가거나 화살표가 돌아가는 것이 작업이 완료될때까지 멈추지 않게.
dialog.setCancleable(true) : 사용자가 백버튼으로 취소가능 // false는 불가능(경고창의 경우)
style_horizontal =1; (수평 바 형태)
style_vertical =0; (수직)
--- DatePickerDialog : 날짜를 +/-가능하게
--- TimePickerDialog : 시간을 "
※ 이번트
1) 이벤트 리스너
2) 이벤트 핸들러
============================================================================================================================================
1 .@@@ main.xml 문서 만들기 @@@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="다이얼로그 만들기"
/>
<Button android:id="@+id/a" //java에서 끌어와 사용할 아이디를 'a'로 만듬
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="showIndeterminate"
/>
<Button android:id="@+id/b"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="showIndeterminateNoTitle"
/>
<Button android:id="@+id/c"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="showTest"
/>
<Button android:id="@+id/d"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="showAltert"
/>
</LinearLayout>
============================================================================================================================================
2 .@@@ java 문서 만들기 @@@
※ Button 변수명 = (Button)findViewById(R.id.a) 변수명에 대입을 시키기 위해서 형변환을 시켜서 대입
package android.dialog;
import android.app.Activity;
import android.os.Bundle;
import android.app.AlertDialog; //dialog를 생성하기 위하여 아래를 선언
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.view.View;
import android.widget.Button;
public class Anddial extends Activity {
/** Called when the activity is first created. */
private static final int DIALOG1_KEY =0; //java에서는 변수를 상수로 변환하여서 사용한다.
private static final int DIALOG2_KEY =1;
private static final int DIALOG3_KEY =2;
private static final int DIALOG4_KEY =3;
public static final int STYLE_HORIZONTAL = 1; //수평 바 형태의 다이얼 로그
public static final int STYLE_SPINNER =0; // 회전 모양
private static final CharSequence[] items ={"Res", "Green", "Blue"}; // 배열로 선언된 items 에각 단어를 입력??
AlertDialog alert; //
@Override
protected Dialog onCreateDialog(int id) {
switch(id){ //해당 키를 누르면 이벤트가 발생한다.
case DIALOG1_KEY:{
ProgressDialog dialog = new ProgressDialog(this);
dialog.setTitle("Indeterminate"); //다이얼로그의 타이틀
dialog.setMessage("Please wait while loading.."); //다이얼로그 화면에 나타날 메세지
dialog.setIndeterminate(false); //
return dialog;
}
case DIALOG2_KEY:{
ProgressDialog dialog = new ProgressDialog(this);
dialog.setMessage("Please wait while loading..");
dialog.setIndeterminate(true);
dialog.setCancelable(true);
return dialog;
}
case DIALOG3_KEY:{
ProgressDialog dialog = new ProgressDialog(this);
dialog.setProgressStyle(STYLE_HORIZONTAL); //수평바를 사용함
dialog.setMessage("Please wait while loading..");
dialog.setIndeterminate(true);
dialog.setCancelable(true);
return dialog;
}
case DIALOG4_KEY:{
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick a color");
builder.setItems(items,new DialogInterface.OnClickListener() { //items의 3가지를 표현
public void onClick(DialogInterface dialog, int item){
dialog.cancel(); //클릭시 취소됨
}
});
return builder.create();
}
}return null;
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button)findViewById(R.id.a); //Button 이라는 변수형으로 button에 입력하기 위해서 형변환을 시킨다.
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(DIALOG1_KEY);
}
});
button = (Button)findViewById(R.id.b);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(DIALOG2_KEY);
}
});
button = (Button)findViewById(R.id.c);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(DIALOG3_KEY);
}
});
button = (Button)findViewById(R.id.d);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(DIALOG4_KEY);
}
});
}
}
============================================================================================================================================
[출처] 제6강좌 - 다이얼로그|작성자 빡ss
'★─Programing > ☆─Android' 카테고리의 다른 글
[안드로이드] EditText Filter (0) | 2011.05.27 |
---|---|
[안드로이드] 제7강좌 - 기본위젯 편집 (0) | 2011.05.27 |
[안드로이드] 제5강좌 - 옵션메뉴,서브메뉴 만들기 (0) | 2011.05.26 |
[안드로이드] 제4강좌 - 메뉴 만들기 (0) | 2011.05.25 |
[안드로이드] 제3강좌 - 안드로이드 리니어 레이아웃 편집 (0) | 2011.05.25 |