android 33 对话框控件

对话框控件:最多3个按钮。

mainActivity.java

package com.sxt.day05_09;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setListener();
    }

    private void setListener() {
        setStandardDialogClickListener();
        setItemsDialogClickListener();
        setCustomDialogClickListener();
    }

    //自定义对话框
    private void setCustomDialogClickListener() {
        findViewById(R.id.btnCustomDialog).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                //将custom_dialog.xml解析为一个View类型的java对象
                View layout = View.inflate(MainActivity.this, R.layout.custom_dialog, null);
                final EditText etAddrss=(EditText) layout.findViewById(R.id.etAddress);
                AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);//Builder是内部类
                builder.setTitle("输入地址的对话框")//setTitle()返回builder对象(builder对象的地址),所以可以继续用点调用其他方法,
                    .setView(layout)//添加自定义布局,替换掉setMessage()
                    .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            String address=etAddrss.getText().toString();//内部类调用外部的方法的变量要是final类型
                            Log.i("main",address);
                        }
                    });
                AlertDialog dialog = builder.create();//create最终创建对话框
                dialog.show();//显示出来
            }
        });
    }

    //列表类型的对话框
    private void setItemsDialogClickListener() {
        findViewById(R.id.btnItemsDialog).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                //真正创建对话框不是AlertDialog,而是这个类的内部类Builder,
                AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
                builder.setItems(new String[]{"增加数据","删除数据","修改数据"}, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {//dialog是当前操作的AlertDialog对象,
                        switch (which) {
                        case 0:
                            Toast.makeText(MainActivity.this, "执行增加数据的操作", 3000).show();
                            break;
                        case 1:
                            Toast.makeText(MainActivity.this, "执行删除数据的操作", 3000).show();
                            break;
                        case 2:
                            Toast.makeText(MainActivity.this, "执行修改数据的操作", 3000).show();
                            break;
                        }
                    }
                });
                AlertDialog dialog = builder.create();
                dialog.show();
            }
        });
    }

    //标准对话框
    private void setStandardDialogClickListener() {
        findViewById(R.id.btnStandardDialog).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                //创建对话框的Builder对象,Builder是AlertDialog的内部类
                AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("退出考试窗口")
                    .setMessage("退出考试吗?")
                    .setPositiveButton("确定", new DialogInterface.OnClickListener() {//setPositiveButton创建肯定的按钮,按钮文本是"确定",点击按钮的监听器是DialogInterface.OnClickListener
                        //OnClickListener是DialogInterface的内部接口,
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Log.i("main","退出考试");
                        }
                    }).setNegativeButton("放弃", new DialogInterface.OnClickListener() {////setNegativeButton创建否定的按钮,按钮的文本和监听器
                        //如果不添加监听器,则仅仅关闭对话框没有动作。
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Log.i("main","继续考试");
                        }
                    });
                AlertDialog dialog = builder.create();//create最终创建对话框
                dialog.show();//显示出来
            }
        });
    }

}

main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <Button
        android:id="@+id/btnStandardDialog"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="标准对话框" />
    <Button
        android:id="@+id/btnItemsDialog"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="列表对话框" />
    <Button
        android:id="@+id/btnCustomDialog"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="自定义对话框" />

</LinearLayout>
custom_dialog.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="输入地址"/>
    <EditText
        android:id="@+id/etAddress"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>
时间: 2024-12-09 03:59:58

android 33 对话框控件的相关文章

Android界面编程——对话框控件(四)

Android界面编程--对话框控件 2.5对话框控件 对话框是提示用户作出决定或输入额外信息的小窗口.对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模式事件.Android中常见跟对话框相关控件有Toast.AlertDialog.PopupWindow.ProgressDialog等 2.5.1 Toast Toast用于弹出一个简单文本信息为应用提供反馈,可以和当前活动保持可见和互动,在一定时间后自动消失.Toast有两种形式基本Toast和自定义Toast,效果如图2.5.1

Android 中常见控件的介绍和使用

1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.lang.Object   ? android.view.View   ? android.widget.TextView 直接子类: Button, CheckedTextView, Chronometer, DigitalClock, EditText 间接子类: AutoCompleteTextV

android学习五(android中基本控件的使用)

前面已经学了activity的一些使用,那么下面我们进行android中基本的控件的学习和使用. 1.android中的TextView控件 新建一个项目,项目名为UITest,才有默认的设置,修改布局文件的内容,如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" a

6.30 winform 对话框控件

1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.IO; 7 using System.Linq; 8 using System.Text; 9 using System.Windows.Forms; 10 11 namespace _6._30_上午_对话框控件

Android 自定义组合控件小结

引言 接触Android UI开发的这段时间以来,对自定义组合控件有了一定的了解,为此小结一下,本文小结内容主要讨论的是如何使用Android SDK提供的布局和控件组成一个功能完整组合控件并将其封装为面向对象的类,而并非讨论如何继承自SDK提供的控件类(比如TextView),对其进行自定义扩展的问题. 进入正题前,我们先来看一组功能需求 假设在手机需求上,那么如上三个界面我们可以使用三个Activity,每个Activity一个布局文件,实现起来比较独立,但是假设在Android pad上要

CAD控件,CAD插件使用教程:Android开发使用控件--开发环境的搭建

Android开发使用控件入门--环境搭建 2014-12-24 09:57     14人阅读     评论(0)     收藏         编辑     删除 CAD控件.CAD三维控件,手机控件 Android开发控件 软件名称(,梦,,想.CAD  ,控件) 1. 环境搭建: 3 1.1. 安装Eclipse 3 1.2. 下载JDK 3 1.3. 下载Android SDK 5 1.4. 给Eclipse 安装ADT插件  8 1.5. 运行Eclipse设置Android ADT

【转】Android M新控件之AppBarLayout,NavigationView,CoordinatorLayout,CollapsingToolbarLayout的使用

Android M新控件之AppBarLayout,NavigationView,CoordinatorLayout,CollapsingToolbarLayout的使用 分类: Android UI2015-06-17 19:46 1498人阅读 评论(7) 收藏 举报 supportandroidlibrary控件design 目录(?)[-] AppBarLayout CoordinatorLayout CollapsingToolbarLayout NavigationView [转载请

【2017-05-02】winform弹出警告框是否进行增删改操作、记事本制作、对话框控件和输出输入流

一.winform弹出警告框是否进行增删改操作 第一个参数是弹出窗体显示的内容,第二个参数是标题,第三个参数是该弹窗包含确定和取消按钮. 返回的是一个枚举类接收一下. 再进行判断,如果点的是确定按钮,再进行下一步的增删改操作. 二.记事本的制作 1.菜单工具栏MenuStrip-插入标准项 2.TextBox -显示部分 小箭头 MultiLine 选中多行 Dock属性占满. 3.功能 - 撤销 - 剪切 - 粘贴 - 复制 - 删除 - 全选 - 时间 - 查找 单独做一个窗体点击打开 把主

Android中用seekbar控件控制歌曲的进度

本人菜鸟一枚,在编写android中用seekbar控件控制歌曲的进度和seekbar随着歌曲的播放自动运动的程序有一些自己的见解,希望各位大牛们多多指点······ 废话先不多说了,先贴一张程序的图吧: 界面不怎么好看,没经过美化,大家将就这看一下吧. 主要思路是运用线程每隔一秒显示一下seekbar控件所在的位置,(这个是使进度条随着歌曲的进度而不断的变化,如果大家想使进度条增加的更连续,可以改变程序循环运行的时间,使其更快) 我只把关于seekbar的程度拿出来了: private int