常见对话框

来源:互联网 发布:汉邦尚品 知乎 编辑:程序博客网 时间:2024/06/06 01:54

1.各种对话框


布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".MainActivity" >    <Button        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:onClick="click1"        android:text="确定取消对话框" />    <Button        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:onClick="click2"        android:text="单选对话框" />    <Button        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:onClick="click3"        android:text="多选对话框" />    <Button        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:onClick="click4"        android:text="进度条对话框" />          <Button        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:onClick="click5"        android:text="带进度的进度条对话框" /></LinearLayout>



MainActivity:

public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void click1(View view){//对话框的创建器AlertDialog.Builder builder = new Builder(this);builder.setTitle("我是对话框");builder.setMessage("对话框显示的内容");builder.setPositiveButton("确定", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(getApplicationContext(), "确定被点击了", 0).show();}});builder.setNegativeButton("取消", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {//什么都不写默认实现就是关闭掉对话框}});builder.setCancelable(false);builder.create().show();}/** * 单选对话框 * @param view */public void click2(View view){//对话框的创建器AlertDialog.Builder builder = new Builder(this);builder.setTitle("请选择您的性别");final String[] items = {"男","女","未知"};builder.setSingleChoiceItems(items, 2, new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(getApplicationContext(), "您的性别:"+items[which], 0).show();dialog.dismiss();}});builder.create().show();}/** * 多选对话框 * @param view */public void click3(View view){//对话框的创建器AlertDialog.Builder builder = new Builder(this);builder.setTitle("请选择你最爱吃的水果");final String[] items={"苹果","梨","菠萝","香蕉","黄瓜"};final boolean[] result =new boolean[]{true,false,true,false,false};builder.setMultiChoiceItems(items, result, new OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which, boolean isChecked) {Toast.makeText(getApplicationContext(), items[which]+isChecked, 0).show();result[which] = isChecked;}});builder.setPositiveButton("提交", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {StringBuffer sb = new StringBuffer();for(int i=0;i<result.length;i++){if(result[i]){sb.append(items[i]+",");}}Toast.makeText(getApplicationContext(), "您选中了,"+sb.toString(), 0).show();}});//builder.create().show();builder.show();}//进度条对话框public void click4(View view){ProgressDialog pd = new ProgressDialog(this);pd.setTitle("提醒");pd.setMessage("正在加载数据...请稍等。");pd.show();}//带进度的进度条对话框public void click5(View view){final ProgressDialog pd = new ProgressDialog(this);pd.setTitle("提醒");pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);pd.setMax(100);pd.setMessage("正在加载数据...请稍等。");pd.show();new Thread(){public void run() {for(int i = 0;i<100;i++){try {Thread.sleep(40);} catch (InterruptedException e) {e.printStackTrace();}pd.setProgress(i);}pd.dismiss();};}.start();}} 


0 0
原创粉丝点击