您的位置:首页 > 移动开发 > Android开发

android 对话框

2016-05-11 22:49 211 查看
对话框

1.普通对话框AlertDialog ★

特点:不能直接创建对象,需要借助内部类AlertDialog.Builder  来创建对象,从而实现对话框显示的效果

 

步骤:

1>创建Builder对象

AlertDialog.Builder builder= new Buider(context);

 

2>设置对话框样子

buider.setTitle();

builder.setIcon();

内容:

builder.setMessage();单一文本

builder.setView();复杂布局

builder.setSingleChoiceItems();单选列表

builder.setMultiChoiceItems();多选列表

 

3>显示对话框

builder.show();

1)单一文本

.xml

      <Button

            android:id="@+id/button1"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:onClick="click1"

            android:text="AlertDialog" />

.java

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

//监听器

public void click1(View view) {

Builder builder = new AlertDialog.Builder(this);

 

builder.setTitle("系统提示");//设置标题

builder.setIcon(android.R.drawable.btn_dialog);

//标题的图片

builder.setMessage("是不是傻");//设置提示内容

/**设置确定和取消按钮

*/

builder.setPositiveButton("确定", new OnClickListener() {

@Override

public void onClick(DialogInterface arg0, int arg1) {

Toast.makeText(MainActivity.this, "你确实傻", 0).show();//toast一下

}

});

builder.setNegativeButton("取消", new OnClickListener() {

 

@Override

public void onClick(DialogInterface arg0, int arg1) {

// TODO Auto-generated method stub

Toast.makeText(MainActivity.this, "你还是傻", 0).show();

}

});

builder.show();//加上show()方法,不然你无论怎么点击也出不来

 

}

2)builder.setView();复杂布局

再建一个item_dialog.xml用来布局格式

    <EditText

        android:id="@+id/et_username"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

          android:layout_marginTop="30dp"

        android:hint="请输入姓名"

        />

      <EditText

          android:layout_marginTop="30dp"

        android:id="@+id/et_useradress"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:hint="请输入地址"

        />

        <EditText

                android:layout_marginTop="30dp"

        android:id="@+id/et_userphone"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:hint="请输入电话"

        />

.java文件的主要代码

public void click4(View view) {

Builder bui = new AlertDialog.Builder(this);

bui.setTitle("系统提示");

bui.setIcon(android.R.drawable.btn_dialog);

View inflate = View.inflate(this, R.layout.item_dialog, null);

bui.setView(inflate);//利用setView把你的布局引用到你的对话框中

//找对话框中的布局控件

et_adress = (EditText) inflate

.findViewById(R.id.et_useradress);

et_name = (EditText) inflate.findViewById(R.id.et_username);

et_phone = (EditText) inflate.findViewById(R.id.et_userphone);

 

bui.setPositiveButton("确定", new OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// Toast.makeText(MainActivity.this, "点了确定", 0).show();

String name = et_name.getText().toString();

String phone = et_phone.getText().toString();

String address = et_adress.getText().toString();

 

Toast.makeText(MainActivity.this,

name + "," + phone + "," + address, 0).show();

 

}

});

bui.setNegativeButton("取消", new OnClickListener() {

 

@Override

public void onClick(DialogInterface dialog, int which) {

Toast.makeText(MainActivity.this, "点了取消", 0).show();

 

}

});

bui.show();//别忘了调用show()方法

 

}

3)builder.setSingleChoiceItems();单选列表

.xml

    <Button

               android:id="@+id/button5"

               android:layout_width="wrap_content"

               android:layout_height="wrap_content"

               android:onClick="click5"

               android:text="AlertDialog单选文本" />

 

.java

public void click5(View view){

Builder bui2 = new AlertDialog.Builder(this);

bui2.setTitle("单选的文本框");

bui2.setIcon(R.drawable.ic_launcher);

//创建一个数组

items = new String[] { "貂蝉", "东施", "杨贵妃", "昭君" };

//参数1:你刚才建的数组  参数2:是你建的数组的下标表示被选中  参数3:监听器

bui2.setSingleChoiceItems(items, 2, new OnClickListener() {

@Override

public void onClick(DialogInterface arg0, int arg1) {

// TODO Auto-generated method stub

Toast.makeText(MainActivity.this, "你选着的是"+items[arg1], 1).show();

}

});

bui2.show();

}

4.builder.setMultiChoiceItems();多选列表

和上面的单选列表一样不过调用的是setMultiChoiceItems()方法,就不写代码了,把

setMultiChoiceItems()说一下

/**

 * bui2.setMultiChoiceItems(itemsId, checkedItems, listener)

 * items 是数组

 * chckedITems 是boolean类型的   相对应的下标若果为 true 则代表为选中

 */
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  对话框 AlertDialog