Android基础——对话框集合
2016-07-26 15:42
357 查看
只是为了方便查阅。。。记性不好
一.dialog
public void showDialogOne(View view) {
// 工厂设计模式. 得到创建对话框的工厂
AlertDialog.Builder builder = new AlertDialog.Builder(this);
// 设置标题
builder.setTitle("警告,请三思:");
// 设置描述信息
builder.setMessage("若练此功,必先自宫,是否继续?");
// 设置确定和取消按钮//显示“是”
builder.setPositiveButton("是", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "啊....,即便自宫,也不一定成功", Toast.LENGTH_SHORT)
.show();
}
});
//设置取消按钮//显示“否”
builder.setNegativeButton("否", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "如果不自宫,一定不成功", Toast.LENGTH_SHORT)
.show();
}
});
// AlertDialog dialog = builder.create(); //创建对话框
// dialog.show();
builder.show(); //上面两句合并成一句
}
* 单选对话框
*
* @param view
*/
public void showDialogThree(View view) {
// 工厂设计模式. 得到创建对话框的工厂
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//设置标题
builder.setTitle("请选择您的性别");
//设置选项
final String[] items = {"男", "女", "中间"};
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//为什么用getApplicationContext??????!!!!!!
Toast.makeText(getApplicationContext(), "您的性别为:" + items[which], Toast.LENGTH_SHORT).show();
dialog.dismiss();//点完之后就关掉
}
});
builder.show();
}
* 多选对话框
*
* @param view
*/
public void showDialogFour(View view) {
// 工厂设计模式. 得到创建对话框的工厂
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//设置标题
builder.setTitle("请选择您爱吃的水果");
//设置选项
final String[] items = {"苹果", "梨", "香蕉", "菠萝", "煎饼果子"};
final boolean[] checked = {true, false, true, false, true};
builder.setMultiChoiceItems(items, checked, new DialogInterface.OnMultiChoiceClickListener() {
@Override
//whick代表哪些条目被选中,第三个代表是否被勾取
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
Toast.makeText(getApplicationContext(), items[which] + isChecked, Toast.LENGTH_SHORT).show();
//checked = {"haha","gaga"};不能这么写,因为前面写了final,数组不能进行修改!!!
checked[which] = isChecked;//但是可以修改数组中的元素!!!
}
});
builder.setPositiveButton("提交", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < checked.length; i++) {
if (checked[i]) {
sb.append(items[i] + " ");
}
}
Toast.makeText(getApplicationContext(), "您喜欢的水果有:" + sb.toString(), Toast.LENGTH_SHORT).show();
}
});
builder.show();
}
* 进度对话框,不带具体进度的对话框
*
* @param view
*/
public void showDialogFive(View view) {
final ProgressDialog pd = new ProgressDialog(this);
pd.setTitle("请稍后:");
pd.setMessage("正在拼命加载中....");
pd.show();
new Thread() {
public void run() {
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
e.printStackTrace();
}
pd.dismiss();
}
;
}.start();
}
* 带具体进度的对话框
*
* @param view
*/
public void ShowDialogSix(View view) {
final ProgressDialog pd = new ProgressDialog(this);
pd.setTitle("请稍后:");
//设置进度样式
pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pd.setMessage("正在拼命加载中....");
//设置进度条的最大值
pd.setMax(100);
pd.show();
new Thread() {
public void run() {
try {
for (int i = 0; i <= 100; i++) {
Thread.sleep(300); //更新进度条要用子线程,如果跟显示的线程放一起
//那么显示的也会卡着,就显示不出来了
pd.setProgress(i); //每隔300ms就加1
}
} catch (InterruptedException e) {
e.printStackTrace();
}
pd.dismiss();
}
;
}.start();
}
一.dialog
public void showDialogOne(View view) {
// 工厂设计模式. 得到创建对话框的工厂
AlertDialog.Builder builder = new AlertDialog.Builder(this);
// 设置标题
builder.setTitle("警告,请三思:");
// 设置描述信息
builder.setMessage("若练此功,必先自宫,是否继续?");
// 设置确定和取消按钮//显示“是”
builder.setPositiveButton("是", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "啊....,即便自宫,也不一定成功", Toast.LENGTH_SHORT)
.show();
}
});
//设置取消按钮//显示“否”
builder.setNegativeButton("否", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "如果不自宫,一定不成功", Toast.LENGTH_SHORT)
.show();
}
});
// AlertDialog dialog = builder.create(); //创建对话框
// dialog.show();
builder.show(); //上面两句合并成一句
}
Two
/*** 单选对话框
*
* @param view
*/
public void showDialogThree(View view) {
// 工厂设计模式. 得到创建对话框的工厂
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//设置标题
builder.setTitle("请选择您的性别");
//设置选项
final String[] items = {"男", "女", "中间"};
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//为什么用getApplicationContext??????!!!!!!
Toast.makeText(getApplicationContext(), "您的性别为:" + items[which], Toast.LENGTH_SHORT).show();
dialog.dismiss();//点完之后就关掉
}
});
builder.show();
}
Three
/*** 多选对话框
*
* @param view
*/
public void showDialogFour(View view) {
// 工厂设计模式. 得到创建对话框的工厂
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//设置标题
builder.setTitle("请选择您爱吃的水果");
//设置选项
final String[] items = {"苹果", "梨", "香蕉", "菠萝", "煎饼果子"};
final boolean[] checked = {true, false, true, false, true};
builder.setMultiChoiceItems(items, checked, new DialogInterface.OnMultiChoiceClickListener() {
@Override
//whick代表哪些条目被选中,第三个代表是否被勾取
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
Toast.makeText(getApplicationContext(), items[which] + isChecked, Toast.LENGTH_SHORT).show();
//checked = {"haha","gaga"};不能这么写,因为前面写了final,数组不能进行修改!!!
checked[which] = isChecked;//但是可以修改数组中的元素!!!
}
});
builder.setPositiveButton("提交", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < checked.length; i++) {
if (checked[i]) {
sb.append(items[i] + " ");
}
}
Toast.makeText(getApplicationContext(), "您喜欢的水果有:" + sb.toString(), Toast.LENGTH_SHORT).show();
}
});
builder.show();
}
Four
/*** 进度对话框,不带具体进度的对话框
*
* @param view
*/
public void showDialogFive(View view) {
final ProgressDialog pd = new ProgressDialog(this);
pd.setTitle("请稍后:");
pd.setMessage("正在拼命加载中....");
pd.show();
new Thread() {
public void run() {
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
e.printStackTrace();
}
pd.dismiss();
}
;
}.start();
}
Five
/*** 带具体进度的对话框
*
* @param view
*/
public void ShowDialogSix(View view) {
final ProgressDialog pd = new ProgressDialog(this);
pd.setTitle("请稍后:");
//设置进度样式
pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pd.setMessage("正在拼命加载中....");
//设置进度条的最大值
pd.setMax(100);
pd.show();
new Thread() {
public void run() {
try {
for (int i = 0; i <= 100; i++) {
Thread.sleep(300); //更新进度条要用子线程,如果跟显示的线程放一起
//那么显示的也会卡着,就显示不出来了
pd.setProgress(i); //每隔300ms就加1
}
} catch (InterruptedException e) {
e.printStackTrace();
}
pd.dismiss();
}
;
}.start();
}
相关文章推荐
- 移动应用开发效率工具
- 新手使用Android Studio 获取SHA1 信息
- android组件 fragment 重叠现象解决思路
- Android Sensor框架简述(三)
- Android Material 之NavigationView和TextInputLayout的使用
- Android 实现双击退出的功能
- 企业移动应用开发基本知识树 (Android & iOS)
- 解决android启动黑白屏最简洁的方式 一行代码搞定
- 合理应用activity的生命周期优化程序内存
- androidcopy文件
- android检查sd卡是否可写
- android长度转单位
- Android签名生成keystore
- Android ActionBar的使用
- android开发中总会遇到的小问题【持续更新...】
- Android学习之路------VideoView
- Android 下拉刷新控件
- Android自定义view生命周期
- Android定制及替换launcher
- Android游戏——贪吃蛇开发实录(改进后的源码和详解)