(1) ¿©·¯ °³ÀÇ ¸ÖƼ¼±Åà ¿É¼ÇÀ¸·Î Ç¥ÇöÇØ ÁÖ±â
´ÙÁß¼±ÅÃÀ» À§ÇÑ ´ÙÀ̾ó·Î±× âÀ» ¶ç¿î´Ù. ¸®½ºÆ®¿¡´Â Á¦¸ñ°ú radio button
ÀÌ ÀÖ´Ù. AlertDialog.Builder Ŭ·¡½º·Î ±¸ÇöÇÏ¸ç ¸®½ºÆ®Áß Æ¯Á¤ÇàÀ» Ŭ¸¯ÇßÀ» ¶§
À̺¥Æ®´Â setSingleChoiceItems ¿¡ µî·ÏÇÑ´Ù. Ok ¹öưŬ¸¯ À̺¥Æ®´Â
setPositiveButton , Cancel ¹öưŬ¸¯ À̺¥Æ®´Â setNegativeButton ¿¡ µî·ÏÇÏ°í
±â´ÉÀ» ±¸ÇöÇÏ¸é µÈ´Ù.
private void DialogSelectOption() {
final String items[] = { "item1", "item2", "item3" };
AlertDialog.Builder ab = new AlertDialog.Builder(DialogSample.this);
ab.setTitle("Title");
ab.setSingleChoiceItems(items, 0,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// °¢ ¸®½ºÆ®¸¦ ¼±ÅÃÇßÀ»¶§
}
}).setPositiveButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// OK ¹öÆ° Ŭ¸¯½Ã , ¿©±â¼ ¼±ÅÃÇÑ °ªÀ» ¸ÞÀÎ Activity ·Î ³Ñ±â¸é µÈ´Ù.
}
}).setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Cancel ¹öÆ° Ŭ¸¯½Ã
}
});
ab.show();
}
(2) html ·Î ±¸ÇöÇÑ text ³Ö±â
´ÙÀ̾ó·Î±× âÀ» ¶ç¿ï ¶§ °øÁö³ª °æ°í¼º âÀ̶ó¸é ³»¿ëÀÌ µé¾î°¥°ÍÀÌ´Ù. ÀÌ ³»¿ëÀ»
HTML ű׸¦ Àû¿ëÇØ ³ÖÀ» ¼ö°¡ ÀÖ´Ù. »ö±òÀº Á¦´ë·Î ¹Ù²î´Â °Í °°Àºµ¥ <strong>, <b>
µî ±ÛÀÚ¿¡ ´ëÇÑ bold 󸮰¡ ÇѰųª ¾ÈÇѰųª ¶È°°ÀÌ º¸¿©¼ Á¦´ë·Î Ç¥ÇöµÇ´ÂÁö´Â
Á»´õ Å×½ºÆ® ÇغÁ¾ßÇÒ°Í°°´Ù.
private void DialogHtmlView() {
AlertDialog.Builder ab = new AlertDialog.Builder(DialogSample.this);
ab.setMessage(Html.fromHtml("<strong><font color=\"#ff0000\"> " + "Html Ç¥Çö¿©ºÎ "
+ "</font></strong><br>HTML ÀÌ Á¦´ë·Î Ç¥ÇöµÇ´ÂÁö º»´Ù."));
ab.setPositiveButton("ok", null);
ab.show();
}
(3) ÇÁ·Î±×·¹½Ãºê(Progress) ´ÙÀ̾ó·Î±× ±¸Çö
¾Èµå·ÎÀ̵忡¼ ÇÁ·Î±×·¹½Ãºê¹Ù¸¦ ±¸ÇöÇÒ¼ö ÀÖ´Ù. ÀÌ°ÍÀ» ±¸ÇöÇϱâ À§ÇÑ Å¬·¡½º´Â
ProgressDialog ¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ´ÙÀ̾ó·Î±× âÀÇ ÁßÁö´Â ProgressDialog ÀÇ
dismiss ¸¦ ¾²¸éµÈ´Ù.
private void DialogProgress(){
ProgressDialog dialog = ProgressDialog.show(DialogSample.this, "",
"Àá½Ã¸¸ ±â´Ù·Á ÁÖ¼¼¿ä ...", true);
// âÀ» ³»¸°´Ù.
// dialog.dismiss();
}
(4) Radio ¹öÆ°À» Æ÷ÇÔÇÑ ´ÙÁß¼±Åà ´ÙÀ̾ó·Î±× â
1¹ø ¿¹Á¦¿Í ºñ½ÁÇÏ°Ô Radio ¹öÆ°ÀÌ Ãß°¡µÇ¾îÀÖ´Â ´ÙÁß¼±Åà ´ÙÀ̾ó·Î±× âÀÌ´Ù.
Â÷ÀÌ°¡ ÀÖ´Ù¸é â ŸÀÌƲ¿¡ setIcon À» ½á¼ ¾ÆÀÌÄÜÀ» Áý¾î³ÖÀº°Í°ú
¼±ÅÃÇÑ Çà ¹øÈ£¸¦ ¾Ë¾Æ¿Í Toast ·Î ȸ鿡 ¹®ÀÚ¿À» Ç¥½ÃÇØÁÖ´Â ³»¿ëÀÌ´Ù.
âÀ» ´Ý°í ½Í´Ù¸é onclick ÇÔ¼ö¿¡ ³Ñ¾î¿Â DialogInterface °´Ã¼·Î cancel ÇÔ¼ö¸¦
È£ÃâÇØ ´ÝÀ¸¸é µÈ´Ù.
private void DialogRadio(){
final CharSequence[] PhoneModels = {"iPhone", "Nokia", "Android"};
AlertDialog.Builder alt_bld = new AlertDialog.Builder(this);
alt_bld.setIcon(R.drawable.icon);
alt_bld.setTitle("Select a Phone Model");
alt_bld.setSingleChoiceItems(PhoneModels, -1, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
Toast.makeText(getApplicationContext(), "Phone Model = "+PhoneModels[item], Toast.LENGTH_SHORT).show();
// dialog.cancel();
}
});
AlertDialog alert = alt_bld.create();
alert.show();
}
(5) ¼±Åÿ¡ µû¸¥ ·ÎÁ÷±¸ÇöÀ» À§ÇÑ ´ÙÀ̾ó·Î±× â ±¸Çö
¿¹¸¦ µé¾î Yes/No Áß Çϳª¸¦ ¼±ÅÃÇÔÀ¸·Î¼ ƯÁ¤ ±â´ÉÀ» ±¸ÇöÇØÁÖ°íÀÚ ÇÒ ¶§
¾²Àϸ¸ÇÑ ¿¹Á¦ÀÌ´Ù. »ùÇÿ¡¼´Â Yes/No À϶§¸¦ ±¸ºÐÇÏ¿© Äڵ带 ±¸ÇöÇÒ¼ö
ÀÖµµ·Ï ³ª´©¾îÁ® ÀÖ´Ù. ¿ì¸®°¡ ÈçÈ÷ º¸´Â ´ëÇ¥ÀûÀÎ ´ÙÀ̾ó·Î±× âÀÏ°ÍÀÌ´Ù.
private void DialogSimple(){
AlertDialog.Builder alt_bld = new AlertDialog.Builder(this);
alt_bld.setMessage("Do you want to close this window ?").setCancelable(
false).setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Action for 'Yes' Button
}
}).setNegativeButton("No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Action for 'NO' Button
dialog.cancel();
}
});
AlertDialog alert = alt_bld.create();
// Title for AlertDialog
alert.setTitle("Title");
// Icon for AlertDialog
alert.setIcon(R.drawable.icon);
alert.show();
}
(6) Time Picker ½Ã°£¼±Åà ÄÁÆ®·ÑÀ» ´ÙÀ̾ó·Î±×¿¡ ±¸Çö
Time Picker ÄÁÆ®·ÑÀ» ´ÙÀ̾ó·Î±× â¿¡ ±¸ÇöÇÑ ¿¹Á¦ÀÌ´Ù. ±×¸®°í ´ÙÀ̾ó·Î±×¿¡
±¸ÇöµÇ¾îÀÖ´Â Time Picker ¿¡¼ ¼±ÅÃÇÑ °ªÀ» ºÎ¸ð ȸ鿡¼ ¹Þ¾Æ ±× °ªÀ» Toast
·Î º¸¿©ÁØ´Ù
private void DialogTimePicker(){
TimePickerDialog.OnTimeSetListener mTimeSetListener =
new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Toast.makeText(DialogSample.this,
"Time is=" + hourOfDay + ":" + minute, Toast.LENGTH_SHORT)
.show();
}
};
TimePickerDialog alert = new TimePickerDialog(this,
mTimeSetListener, 0, 0, false);
alert.show();
}
(7) Date Picker ³¯Â¥¼±Åà ÄÁÆ®·ÑÀ» ´ÙÀ̾ó·Î±×¿¡ ±¸Çö
Date Picker ÄÁÆ®·ÑÀ» ´ÙÀ̾ó·Î±× â¿¡ ±¸ÇöÇÑ ¿¹Á¦ÀÌ´Ù. ±×¸®°í ´ÙÀ̾ó·Î±×¿¡
±¸ÇöµÇ¾îÀÖ´Â Date Picker ¿¡¼ ¼±ÅÃÇÑ °ªÀ» ºÎ¸ð ȸ鿡¼ ¹Þ¾Æ ±× °ªÀ» Toast
·Î º¸¿©ÁØ´Ù. âÀ» ¶ç¿ì±â Àü¿¡ ÇöÀç ³¯Â¥Á¤º¸¸¦ ³Ñ°ÜÁÖ°í Date Picker ¿¡¼´Â
±×°ÍÀ» ¹Þ¾Æ Ç¥½ÃÇØ ÁØ´Ù.
private void DialogDatePicker(){
Calendar c = Calendar.getInstance();
int cyear = c.get(Calendar.YEAR);
int cmonth = c.get(Calendar.MONTH);
int cday = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog.OnDateSetListener mDateSetListener =
new DatePickerDialog.OnDateSetListener() {
// onDateSet method
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
String date_selected = String.valueOf(monthOfYear+1)+
" /"+String.valueOf(dayOfMonth)+" /"+String.valueOf(year);
Toast.makeText(DialogSample.this,
"Selected Date is ="+date_selected, Toast.LENGTH_SHORT).show();
}
};
DatePickerDialog alert = new DatePickerDialog(this, mDateSetListener,
cyear, cmonth, cday);
alert.show();
}
(8) Àüü ¼Ò½º
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.app.TimePickerDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.Html;
import android.util.Log;
import android.view.View;
import android.widget.DatePicker;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TimePicker;
import android.widget.Toast;
public class DialogSample extends ListActivity {
private String[] mMenuText;
private String[] mMenuSummary;
private String keyName = "name";
private String keyDesc = "desc";
private String TAG;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TAG = getClass().getName();
int length = 7;
mMenuText = new String[length];
mMenuSummary = new String[length];
mMenuText[0] = "´ÙÁß¼±Åà »õâ";
mMenuSummary[0] = "´ÙÁß¼±ÅÃÀ» ÇÒ¼ö ÀÖ´Â Alert ¿¹Á¦±¸ÇöÀÌ´Ù.";
mMenuText[1] = "HTML Àû¿ë »õâ";
mMenuSummary[1] = "Text ¿¡ HTML À» Àû¿ëÇÏ´Â Alert ¿¹Á¦±¸ÇöÀÌ´Ù.";
mMenuText[2] = "ÇÁ·Î±×·¹½Ãºê¹Ù »õâ";
mMenuSummary[2] = "ÁøÇàÁßÀ» ³ªÅ¸³»´Â ÇÁ·Î±×·¹½Ãºê¹Ù Alert ¿¹Á¦±¸Çö´Ù.";
mMenuText[3] = "Radio ¹öÆ° »õâ";
mMenuSummary[3] = "Radio ¹öÆ°ÀÌ µé¾î°£ »õâ ÀÌ¸ç ¼±ÅÃÇϸé âÀÌ ´ÝÈù´Ù. ";
mMenuText[4] = "Simple Dialog";
mMenuSummary[4] = "¼±Åÿ¡ µû¸¥ ·ÎÁ÷±¸ÇöÀ» À§ÇÑ ´ÙÀ̾ó·Î±× â ±¸Çö";
mMenuText[5] = "Time Picker";
mMenuSummary[5] = "Time Picker ½Ã°£¼±Åà ÄÁÆ®·ÑÀ» ´ÙÀ̾ó·Î±×¿¡ ±¸Çö";
mMenuText[6] = "Date Picker";
mMenuSummary[6] = "Date Picker ³¯Â¥¼±Åà ÄÁÆ®·ÑÀ» ´ÙÀ̾ó·Î±×¿¡ ±¸Çö";
setListAdapter(new SimpleAdapter(this, getListValues(),
android.R.layout.simple_list_item_2, new String[] {
keyName, keyDesc }, new int[] { android.R.id.text1, android.R.id.text2 }));
}
private List<Map<String, String>> getListValues() {
List<Map<String, String>> values = new ArrayList<Map<String, String>>();
int length = mMenuText.length;
for (int i = 0; i < length; i++) {
Map<String, String> v = new HashMap<String, String>();
v.put(keyName, mMenuText[i]);
v.put(keyDesc, mMenuSummary[i]);
values.add(v);
}
return values;
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Log.d(TAG, "id : " + id + ", position : " + position);
switch (position) {
case 0:
// ´ÙÁß¼±Åà ¿É¼Çâ
this.DialogSelectOption();
break;
case 1:
// HTML ±¸Çö
this.DialogHtmlView();
break;
case 2:
// ÇÁ·Î±×·¹½Ãºê¹Ù ±¸Çö
this.DialogProgress();
break;
case 3:
// Radio ¹öÆ°ÀÌ Ãß°¡µÈ ´ÙÁß¼±Åà â
this.DialogRadio();
break;
case 4:
// °¡Àå ÀϹÝÀûÀÎ Yes/NO±â´É±¸Çö Dialog
this.DialogSimple();
break;
case 5:
this.DialogTimePicker();
break;
case 6:
// ³¯Â¥ ¼±Åà Dialog ±¸Çö
this.DialogDatePicker();
break;
default:
break;
}
}
private void DialogSelectOption() {
final String items[] = { "item1", "item2", "item3" };
AlertDialog.Builder ab = new AlertDialog.Builder(DialogSample.this);
ab.setTitle("Title");
ab.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// °¢ ¸®½ºÆ®¸¦ ¼±ÅÃÇßÀ»¶§
}
}).setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// OK ¹öÆ° Ŭ¸¯½Ã , ¿©±â¼ ¼±ÅÃÇÑ °ªÀ» ¸ÞÀÎ Activity ·Î ³Ñ±â¸é µÈ´Ù.
}
}).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Cancel ¹öÆ° Ŭ¸¯½Ã
}
});
ab.show();
}
private void DialogHtmlView() {
AlertDialog.Builder ab = new AlertDialog.Builder(DialogSample.this);
ab.setMessage(Html.fromHtml("<strong><font color=\"#ff0000\"> " + "Html Ç¥Çö¿©ºÎ "
+ "</font></strong><br>HTML ÀÌ Á¦´ë·Î Ç¥ÇöµÇ´ÂÁö º»´Ù."));
ab.setPositiveButton("ok", null);
ab.show();
}
private void DialogProgress() {
ProgressDialog dialog =
ProgressDialog.show(DialogSample.this, "", "Àá½Ã¸¸ ±â´Ù·Á ÁÖ¼¼¿ä ...", true);
// âÀ» ³»¸°´Ù.
// dialog.dismiss();
}
private void DialogRadio() {
final CharSequence[] PhoneModels = { "iPhone", "Nokia", "Android" };
AlertDialog.Builder alt_bld = new AlertDialog.Builder(this);
alt_bld.setIcon(R.drawable.icon);
alt_bld.setTitle("Select a Phone Model");
alt_bld.setSingleChoiceItems(PhoneModels, -1,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
Toast.makeText(getApplicationContext(), "Phone Model = "
+ PhoneModels[item], Toast.LENGTH_SHORT)
.show();
dialog.cancel();
}
});
AlertDialog alert = alt_bld.create();
alert.show();
}
private void DialogSimple() {
AlertDialog.Builder alt_bld = new AlertDialog.Builder(this);
alt_bld.setMessage("Do you want to close this window ?").setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Action for 'Yes' Button
}
}).setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Action for 'NO' Button
dialog.cancel();
}
});
AlertDialog alert = alt_bld.create();
// Title for AlertDialog
alert.setTitle("Title");
// Icon for AlertDialog
alert.setIcon(R.drawable.icon);
alert.show();
}
private void DialogTimePicker() {
TimePickerDialog.OnTimeSetListener mTimeSetListener =
new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Toast.makeText(DialogSample.this, "Time is=" + hourOfDay + ":"
+ minute, Toast.LENGTH_SHORT).show();
}
};
TimePickerDialog alert =
new TimePickerDialog(this, mTimeSetListener, 0, 0, false);
alert.show();
}
private void DialogDatePicker() {
Calendar c = Calendar.getInstance();
int cyear = c.get(Calendar.YEAR);
int cmonth = c.get(Calendar.MONTH);
int cday = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog.OnDateSetListener mDateSetListener =
new DatePickerDialog.OnDateSetListener() {
// onDateSet method
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
String date_selected = String.valueOf(monthOfYear + 1) + " /"
+ String.valueOf(dayOfMonth) + " /"
+ String.valueOf(year);
Toast.makeText(DialogSample.this, "Selected Date is ="
+ date_selected, Toast.LENGTH_SHORT).show();
}
};
DatePickerDialog alert =
new DatePickerDialog(this, mDateSetListener, cyear, cmonth, cday);
alert.show();
}
}
|
|