欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android 對(duì)話框 Dialog使用實(shí)例講解

 更新時(shí)間:2016年09月06日 09:22:49   作者:nkdwslsd  
對(duì)話框是在當(dāng)前的頁(yè)面之上彈出的小窗口, 用于顯示一些重要的提示信息, 提示用戶的輸入,確認(rèn)信息,或顯示某種狀態(tài).如 : 顯示進(jìn)度條對(duì)話框, 退出提示.接下來(lái)通過(guò)本文給大家介紹android dialog對(duì)話框知識(shí),感興趣的朋友一起看看吧

對(duì)話框 Dialog

什么是對(duì)話框

對(duì)話框是在當(dāng)前的頁(yè)面之上彈出的小窗口, 用于顯示一些重要的提示信息, 提示用戶的輸入,確認(rèn)信息,或顯示某種狀態(tài).如 : 顯示進(jìn)度條對(duì)話框, 退出提示.

對(duì)話框的特點(diǎn):

1, 當(dāng)前界面彈出的小窗口.

2, 用戶要與它進(jìn)行交互, 可以接收用戶輸入的信息, 也可以反饋信息給用戶.

常用對(duì)話框:

1, 普通對(duì)話框 AlertDialog

2, 進(jìn)度條對(duì)話框 ProgressDialog

3, 日期對(duì)話框 DatePickerDialog

4, 時(shí)間對(duì)話框 TimePickerDialog

5, 自定義對(duì)話框

常用普通對(duì)話框 AlertDialog

1, 普通列表對(duì)話框 setItems -- onClickListener

2, 單選對(duì)話框 setSingleChoiceItems -- onClickListener

3, 多選對(duì)話框 setMultiChoiceItems --- > onMultiChoiceClickListener

4, 適配器對(duì)話框 setAdapter -- onClickListener

package com.qf.day11_dialog_01; 
import java.util.Calendar; 
import android.app.Activity; 
import android.app.AlertDialog; 
import android.app.DatePickerDialog; 
import android.app.DatePickerDialog.OnDateSetListener; 
import android.app.ProgressDialog; 
import android.app.TimePickerDialog; 
import android.app.TimePickerDialog.OnTimeSetListener; 
import android.content.DialogInterface; 
import android.content.DialogInterface.OnClickListener; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.DatePicker; 
import android.widget.EditText; 
import android.widget.TimePicker; 
import android.widget.Toast; 
public class MainActivity extends Activity { 
private EditText name; 
private EditText pwd; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
} 
public void showAlertDialog(View v) 
{ 
//1, 定義普通對(duì)話框的構(gòu)建者 
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); 
//2, 構(gòu)建對(duì)話框 
builder.setIcon(R.drawable.img_23);//設(shè)置圖標(biāo) 
builder.setTitle("提示");//設(shè)置標(biāo)題 
builder.setMessage("是否確認(rèn)退出?");//設(shè)置內(nèi)容 
//設(shè)置取消按鈕 
/** 
* text 按鈕顯示的文字 
* listener 按鈕對(duì)應(yīng)的監(jiān)聽(tīng)器 
*/ 
builder.setNegativeButton("取消", null); 
//設(shè)置確定按鈕 
builder.setPositiveButton("確定", new OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
finish(); 
} 
}); 
//3, 顯示對(duì)話框 
builder.show(); 
} 
public void showProgressDialog(View v) 
{ 
//1, 得到ProgressDialog的對(duì)象 
ProgressDialog pDialog = new ProgressDialog(this); 
//2, 構(gòu)建對(duì)話框 
pDialog.setIcon(R.drawable.img_14); 
pDialog.setTitle("提示"); 
pDialog.setMessage("正在加載, 請(qǐng)稍后...."); 
pDialog.setCancelable(true);//是否可撤銷(xiāo) true 可以 false 不可以 
//設(shè)置進(jìn)度條對(duì)話框的樣式 
//ProgressDialog.STYLE_HORIZONTAL 水平的 
//ProgressDialog.STYLE_SPINNER 轉(zhuǎn)圈的 
pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 
//3, 顯示對(duì)話框 
pDialog.show(); 
//pDialog.dismiss();//對(duì)話框消失 
pDialog.setProgress(50);//設(shè)置進(jìn)度值, 在顯示對(duì)話后,才可以設(shè)置 
} 
public void showDatePickerDialog(View v) 
{ 
//獲取系統(tǒng)的當(dāng)前日期 
Calendar calendar = Calendar.getInstance(); 
int year = calendar.get(Calendar.YEAR); 
int monthOfYear = calendar.get(Calendar.MONTH); 
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); 
//1, 創(chuàng)建帶有日期選擇器的對(duì)話框 
/** 
* context 上下文對(duì)象 
* callBack onDateSetListener(日期選擇器上的"確定"按鈕監(jiān)聽(tīng)器) 
* year 默認(rèn)的年 
* monthOfYear 默認(rèn)的月份 
* dayOfMonth 默認(rèn)的日期 
*/ 
DatePickerDialog dPDialog = new DatePickerDialog(this,new OnDateSetListener() { 
/** 
* DatePicker view 日期選擇器 
*/ 
@Override 
public void onDateSet(DatePicker view, int year, int monthOfYear, 
int dayOfMonth) { 
//選擇后的日期監(jiān)聽(tīng) 
Toast.makeText(MainActivity.this, year+"-"+(monthOfYear+1)+"-"+dayOfMonth, Toast.LENGTH_SHORT).show(); 
} 
}, year, monthOfYear, dayOfMonth); 
//2, 顯示對(duì)話框 
dPDialog.show(); 
} 
public void showTimePickerDialog(View v) 
{ 
//1, 創(chuàng)建帶有時(shí)間選擇器的對(duì)話框 
/** 
* context 上下文對(duì)象 
* callBack onTimeSetListener 
* hourOfDay 默認(rèn)的小時(shí) 
* minute 默認(rèn)的分鐘數(shù) 
* is24HourView 是否24小時(shí)制 
*/ 
TimePickerDialog tpDialog = new TimePickerDialog(this, new OnTimeSetListener() { 
@Override 
public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
Toast.makeText(MainActivity.this, hourOfDay + " :" + minute, Toast.LENGTH_SHORT).show(); 
} 
}, 15, 17, true); 
//2, 顯示對(duì)話框 
tpDialog.show(); 
} 
//自定義對(duì)話框(在普通對(duì)話框基礎(chǔ)上實(shí)現(xiàn)) 
public void showCustomDialog(View v) 
{ 
//1, 得到普通對(duì)話框的構(gòu)建者 
AlertDialog.Builder builder = new AlertDialog.Builder(this); 
//2, 構(gòu)建對(duì)話框 
builder.setIcon(R.drawable.img_23); 
builder.setTitle("用戶登陸"); 
//3, 為對(duì)話框設(shè)置自定義的視圖 
View view = getLayoutInflater().inflate(R.layout.login, null); 
name = (EditText) view.findViewById(R.id.name); 
pwd = (EditText) view.findViewById(R.id.pwd); 
builder.setView(view); 
//為對(duì)話框添加 按鈕 
builder.setNegativeButton("取消", null); 
builder.setPositiveButton("登陸", new OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
String info = name.getText().toString()+", "+ pwd.getText().toString(); 
Toast.makeText(MainActivity.this, info, Toast.LENGTH_SHORT).show(); 
} 
}); 
//4, 顯示對(duì)話框 
builder.show(); 
} 
} 

package com.qf.day11_dialog_02; 
import android.app.Activity; 
import android.app.AlertDialog; 
import android.content.DialogInterface; 
import android.content.Intent; 
import android.content.DialogInterface.OnClickListener; 
import android.content.DialogInterface.OnMultiChoiceClickListener; 
import android.graphics.Color; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.ArrayAdapter; 
import android.widget.TextView; 
public class MainActivity extends Activity { 
private TextView tv; 
private int position;//單選列表的 中間轉(zhuǎn)接 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
tv = (TextView) findViewById(R.id.tv); 
} 
//普通列表對(duì)話框 
public void showCommon(View v) 
{ 
//1, 得到普通對(duì)話框的構(gòu)建者 
AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setIcon(R.drawable.ic_launcher); 
builder.setTitle("選擇顏色"); 
//2, 設(shè)置列表 
//getResources().getStringArray(id) 
builder.setItems(R.array.colors, new OnClickListener() { 
/** 
* DialogInterface dialog 對(duì)話框 
* int which 當(dāng)前選中的item 從0開(kāi)始 
*/ 
@Override 
public void onClick(DialogInterface dialog, int which) { 
switch (which) { 
case 0: 
tv.setTextColor(Color.RED); 
break; 
case 1: 
tv.setTextColor(Color.GREEN); 
break; 
case 2: 
tv.setTextColor(Color.BLUE); 
break; 
} 
} 
}); 
//3, 顯示對(duì)話框 
builder.show(); 
} 
//單選列表 
public void showSingle(View v) 
{ 
//1, 得到普通對(duì)話框的構(gòu)建者 
AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setIcon(R.drawable.ic_launcher); 
builder.setTitle("設(shè)置文字大小"); 
//2, 設(shè)置單選列表 
/** 
* items 選項(xiàng)資源的ID R.array.sizes 
* checkedItem 默認(rèn)選中的item的下標(biāo), 如果沒(méi)有默認(rèn)選中, 那么設(shè)置為-1 
* listener 監(jiān)聽(tīng)器 
*/ 
builder.setSingleChoiceItems(R.array.sizes, -1, new OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
// 把當(dāng)前選中的Item的下標(biāo) 賦值給全局的變量 position 
position = which; 
} 
}); 
builder.setPositiveButton("確定", new OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
// TODO 根據(jù)全局的position 判斷該執(zhí)行什么樣的操作 
switch (position) { 
case 0: 
tv.setTextSize(20); 
break; 
case 1: 
tv.setTextSize(30); 
break; 
case 2: 
tv.setTextSize(40); 
break; 
} 
} 
}); 
//3, 顯示對(duì)話框 
builder.show(); 
} 
//多選列表 
public void showMulti(View v) 
{ 
//1, 得到普通對(duì)話框的構(gòu)建者 
AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setIcon(R.drawable.ic_launcher); 
builder.setTitle("設(shè)置內(nèi)容"); 
//2, 設(shè)置多選列表 
/** 
* items 資源的ID 
* checkedItems 當(dāng)前選中的Item 
* listener 監(jiān)聽(tīng)器 
*/ 
//得到所有的數(shù)據(jù) 
final String[] hobbys = getResources().getStringArray(R.array.hobbys); 
//選中的Item 
final boolean[] checkedItems = new boolean[hobbys.length]; 
builder.setMultiChoiceItems(R.array.hobbys, checkedItems, new OnMultiChoiceClickListener() { 
/** 
* DialogInterface dialog 當(dāng)前對(duì)話框 
* int which 當(dāng)前選擇的Item下標(biāo) 
* boolean isChecked 當(dāng)前選擇Item的狀態(tài) 
*/ 
@Override 
public void onClick(DialogInterface dialog, int which, boolean isChecked) { 
//改變boolean[] 中狀態(tài) 
checkedItems[which] = isChecked; 
} 
}); 
builder.setPositiveButton("確定", new OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
StringBuilder sBuilder = new StringBuilder(); 
for(int i=0;i<checkedItems.length;i++) 
{ 
if(checkedItems[i]) 
{ 
sBuilder.append(hobbys[i]).append(" "); 
} 
} 
tv.setText(sBuilder.toString()); 
} 
}); 
//3, 顯示對(duì)話框 
builder.show(); 
} 
//適配器列表 
public void showAdapter(View v) 
{ 
//1, 得到普通對(duì)話框的構(gòu)建者 
AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setIcon(R.drawable.ic_launcher); 
builder.setTitle("選擇設(shè)置"); 
//2, 設(shè)置適配器 
String[] data = getResources().getStringArray(R.array.settings); 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
android.R.layout.simple_list_item_1, 
data); 
builder.setAdapter(adapter, new OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
Intent intent = new Intent(); 
switch (which) { 
case 0: 
intent.setAction("android.settings.WIFI_SETTINGS"); 
break; 
case 1: 
intent.setAction("android.settings.SOUND_SETTINGS"); 
break; 
case 2: 
intent.setAction("android.settings.SETTINGS"); 
break; 
} 
startActivity(intent); 
} 
}); 
//3, 顯示對(duì)話框 
//builder.show(); 
builder.create().show(); 
} 
} 

以上所述是小編給大家介紹的Android 對(duì)話框 Dialog使用實(shí)例講解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Android選中突出背景效果的底部導(dǎo)航欄功能

    Android選中突出背景效果的底部導(dǎo)航欄功能

    這篇文章主要介紹了Android選中突出背景效果的底部導(dǎo)航欄功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Android自定義加載控件實(shí)現(xiàn)數(shù)據(jù)加載動(dòng)畫(huà)

    Android自定義加載控件實(shí)現(xiàn)數(shù)據(jù)加載動(dòng)畫(huà)

    這篇文章主要為大家詳細(xì)介紹了Android自定義加載控件實(shí)現(xiàn)數(shù)據(jù)加載動(dòng)畫(huà)的相關(guān)資料,仿美團(tuán)、京東數(shù)據(jù)加載動(dòng)畫(huà)、小人奔跑動(dòng)畫(huà),感興趣的小伙伴們可以參考一下
    2016-04-04
  • Android RefreshLayout實(shí)現(xiàn)下拉刷新布局

    Android RefreshLayout實(shí)現(xiàn)下拉刷新布局

    這篇文章主要為大家詳細(xì)介紹了Android RefreshLayout實(shí)現(xiàn)下拉刷新布局,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Android自定義Progress控件的方法

    Android自定義Progress控件的方法

    這篇文章主要為大家詳細(xì)介紹了Android自定義Progress控件的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Android AIDL實(shí)現(xiàn)與服務(wù)相互調(diào)用方式

    Android AIDL實(shí)現(xiàn)與服務(wù)相互調(diào)用方式

    這篇文章主要介紹了Android AIDL實(shí)現(xiàn)與服務(wù)相互調(diào)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • Android利用Sensor(傳感器)實(shí)現(xiàn)水平儀功能

    Android利用Sensor(傳感器)實(shí)現(xiàn)水平儀功能

    這篇文章主要為大家詳細(xì)介紹了Android利用Sensor傳感器實(shí)現(xiàn)水平儀功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Android學(xué)習(xí)筆記——Menu介紹(三)

    Android學(xué)習(xí)筆記——Menu介紹(三)

    今天繼續(xù)昨天沒(méi)有講完的Menu的學(xué)習(xí),主要是Popup Menu的學(xué)習(xí),需要的朋友可以參考下
    2014-10-10
  • Android仿QQ可拉伸頭部控件

    Android仿QQ可拉伸頭部控件

    這篇文章主要為大家詳細(xì)介紹了Android仿QQ可拉伸頭部控件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Android MediaPlayer音頻播放器封裝示例淺析

    Android MediaPlayer音頻播放器封裝示例淺析

    Android提供了許多方法來(lái)控制播放的音頻/視頻文件和流。其中該方法是通過(guò)一類(lèi)稱(chēng)為MediaPlayer。Android是提供MediaPlayer類(lèi)訪問(wèn)內(nèi)置的媒體播放器的服務(wù),如播放音頻,視頻等為了使用MediaPlayer,我們要調(diào)用這個(gè)類(lèi)的靜態(tài)create()方法
    2023-04-04
  • Android自定義ViewGroup嵌套與交互實(shí)現(xiàn)幕布全屏滾動(dòng)

    Android自定義ViewGroup嵌套與交互實(shí)現(xiàn)幕布全屏滾動(dòng)

    這篇文章主要為大家介紹了Android自定義ViewGroup嵌套與交互實(shí)現(xiàn)幕布全屏滾動(dòng)效果示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01

最新評(píng)論