对话框AlertDialog的使用

来源:互联网 发布:网络安全产品排行 编辑:程序博客网 时间:2024/05/17 07:28

AlertDialog的使用
Dialog

关系图如下:
Android主要提供四种对话框:
1:AlertDialog:功能最丰富,实际应用最广的对话框。
2:ProgressDialog:进度条对话框
3:DatePickerDialog:日期选择器对话框
4:TimePickerDialog:时间选择器对话框
创建一个对话框的步骤:

AlertDialog.Builder builder = new AlertDialog.Builder(this)                // 1:设置对话框标题                .setTitle("自定义列表项对话框")                        // 2:设置图标                .setIcon(R.drawable.tools)                        // 3:设置内容                .setMessage("对话框的测试内容\n第二行内容");        // 为AlertDialog.Builder添加“确定”按钮        setPositiveButton(builder);        // 为AlertDialog.Builder添加“取消”按钮        setNegativeButton(builder)                .create()                .show();

代码区:
main.xml代码区:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:gravity="center_horizontal"><!-- 显示一个普通的文本编辑框组件 --><EditText     android:id="@+id/show"    android:layout_width="match_parent"     android:layout_height="wrap_content"     android:editable="false"/><!-- 定义一个普通的按钮组件 --><Button    android:layout_width="match_parent"     android:layout_height="wrap_content"     android:text="简单对话框"    android:onClick="simple"    /><!-- 定义一个普通的按钮组件 --><Button    android:layout_width="match_parent"     android:layout_height="wrap_content"     android:text="简单列表项对话框"    android:onClick="simpleList"    />  <!-- 定义一个普通的按钮组件 --><Button    android:layout_width="match_parent"     android:layout_height="wrap_content"     android:text="单选列表项对话框"    android:onClick="singleChoice"    />  <!-- 定义一个普通的按钮组件 --><Button    android:layout_width="match_parent"     android:layout_height="wrap_content"     android:text="多选列表项对话框"    android:onClick="multiChoice"    />  <!-- 定义一个普通的按钮组件 --><Button    android:layout_width="match_parent"     android:layout_height="wrap_content"     android:text="自定义列表项对话框"    android:onClick="customList"    />  <!-- 定义一个普通的按钮组件 --><Button    android:layout_width="match_parent"     android:layout_height="wrap_content"     android:text="自定义View对话框"    android:onClick="customView"    />                  </LinearLayout>

Activity代码区:

public class MainActivity extends Activity {    TextView show;    String[] items = new String[] {            "aserbao", "Android",            " Java",            "IOS" };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        show = (TextView) findViewById(R.id.show);    }    public void simple(View source)    {        AlertDialog.Builder builder = new AlertDialog.Builder(this)            // 设置对话框标题            .setTitle("简单对话框")            // 设置图标            .setIcon(R.drawable.tools)            .setMessage("对话框的测试内容\n第二行内容");        // 为AlertDialog.Builder添加“确定”按钮        setPositiveButton(builder);        // 为AlertDialog.Builder添加“取消”按钮        setNegativeButton(builder)            .create()            .show();    }    public void simpleList(View source)    {        AlertDialog.Builder builder = new AlertDialog.Builder(this)                // 设置对话框标题                .setTitle("简单列表对话框")                        // 设置图标                .setIcon(R.drawable.tools)                        // 设置简单的列表项内容                .setItems(items, new OnClickListener()                {                    @Override                    public void onClick(DialogInterface dialog, int which)                    {                        show.setText("你选中了《" + items[which] + "》");                    }                });        // 为AlertDialog.Builder添加“确定”按钮        setPositiveButton(builder);        // 为AlertDialog.Builder添加“取消”按钮        setNegativeButton(builder)                .create()                .show();    }    public void singleChoice(View source)    {        AlertDialog.Builder builder = new AlertDialog.Builder(this)                // 设置对话框标题                .setTitle("单选列表项对话框")                        // 设置图标                .setIcon(R.drawable.tools)                        // 设置单选列表项,默认选中第二项(索引为1)                .setSingleChoiceItems(items, 1, new OnClickListener()                {                    @Override                    public void onClick(DialogInterface dialog, int which)                    {                        show.setText("你选中了《" + items[which] + "》");                    }                });            // 为AlertDialog.Builder添加“确定”按钮            setPositiveButton(builder);            // 为AlertDialog.Builder添加“取消”按钮            setNegativeButton(builder)                .create()                .show();    }    public void multiChoice(View source)    {        AlertDialog.Builder builder = new AlertDialog.Builder(this)                // 设置对话框标题                .setTitle("多选列表项对话框")                        // 设置图标                .setIcon(R.drawable.tools)                        // 设置多选列表项,设置勾选第2项、第4项                .setMultiChoiceItems(items                        , new boolean[]{false , true ,false ,true}, null);        // 为AlertDialog.Builder添加“确定”按钮        setPositiveButton(builder);        // 为AlertDialog.Builder添加“取消”按钮        setNegativeButton(builder)                .create()                .show();    }    public void customList(View source)    {        AlertDialog.Builder builder = new AlertDialog.Builder(this)                // 设置对话框标题                .setTitle("自定义列表项对话框")                        // 设置图标                .setIcon(R.drawable.tools)                        // 设置自定义列表项                .setAdapter(new ArrayAdapter<String>(this                        , R.layout.array_item                        , items), null);        // 为AlertDialog.Builder添加“确定”按钮        setPositiveButton(builder);        // 为AlertDialog.Builder添加“取消”按钮        setNegativeButton(builder)                .create()                .show();    }    public void customView(View source)    {        // 装载app\src\main\res\layout\login.xml界面布局文件        TableLayout loginForm = (TableLayout)getLayoutInflater()                .inflate( R.layout.login, null);        new AlertDialog.Builder(this)                // 设置对话框的图标                .setIcon(R.drawable.tools)                // 设置对话框的标题                .setTitle("自定义View对话框")                // 设置对话框显示的View对象                .setView(loginForm)                // 为对话框设置一个“确定”按钮                .setPositiveButton("登录", new OnClickListener() {                    @Override                    public void onClick(DialogInterface dialog,                        int which) {                        // 此处可执行登录处理                    }                })                // 为对话框设置一个“取消”按钮                .setNegativeButton("取消", new OnClickListener()                {                    @Override                    public void onClick(DialogInterface dialog,                                        int which)                    {                        // 取消登录,不做任何事情                    }                })                // 创建并显示对话框                .create()                .show();    }    private AlertDialog.Builder setPositiveButton(            AlertDialog.Builder builder)    {        // 调用setPositiveButton方法添加“确定”按钮        return builder.setPositiveButton("确定", new OnClickListener()        {            @Override            public void onClick(DialogInterface dialog, int which)            {                show.setText("单击了【确定】按钮!");            }        });    }    private AlertDialog.Builder setNegativeButton(            AlertDialog.Builder builder)    {        // 调用setNegativeButton方法添加“取消”按钮        return builder.setNegativeButton("取消", new OnClickListener()        {            @Override            public void onClick(DialogInterface dialog, int which)            {                show.setText("单击了【取消】按钮!");            }        });    }}

若有Android方面的问题,欢迎留言,看到后第一时间回复!

2 0
原创粉丝点击