ANDROID中自定义对话框AlertDialog使用示例

在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式。AlertDialog中定义的一些对话框往往无法满足我们关于对话框的需求,这时我们就需要通过自定义对话框VIEW来实现需求,这里我自定义一个登陆的提示对话框,效果图显示如下:

Layout(alertdialog自定义登陆按钮)界面代码:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:text="自定义登陆" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/button5" android:onClick="login"/> </LinearLayout>

Layout(login_layout登陆窗口)界面:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text" android:hint="请输入用户名" android:id="@+id/et_username"/> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPassword" android:hint="请输入密码" android:id="@+id/et_password"/> </LinearLayout>

java功能实现代码:

public class AlertDialogDemo extends AppCompatActivity { private EditText et_username,et_password; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.alertdialog); } public void login(View v){ AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("登录"); //通过布局填充器获login_layout View view = getLayoutInflater().inflate(R.layout.login_layout,null); //获取两个文本编辑框(密码这里不做登陆实现,仅演示) final EditText et_username = (EditText) view.findViewById(R.id.et_username); final EditText et_password = (EditText) view.findViewById(R.id.et_password); builder.setView(view);//设置login_layout为对话提示框 builder.setCancelable(false);//设置为不可取消 //设置正面按钮,并做事件处理 builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { String name = et_username.getText().toString().trim(); String pass = et_password.getText().toString().trim(); Toast.makeText(AlertDialogDemo.this,name + "正在登录....",Toast.LENGTH_SHORT).show(); } }); //设置反面按钮,并做事件处理 builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { Toast.makeText(AlertDialogDemo.this,"取消登录",Toast.LENGTH_SHORT).show(); } }); builder.show();//显示Dialog对话框 } }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

时间: 2024-10-24 22:03:14

ANDROID中自定义对话框AlertDialog使用示例的相关文章

ANDROID中自定义对话框AlertDialog使用示例_Android

在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式.AlertDialog中定义的一些对话框往往无法满足我们关于对话框的需求,这时我们就需要通过自定义对话框VIEW来实现需求,这里我自定义一个登陆的提示对话框,效果图显示如下: Layout(alertdialog自定义登陆按钮)界面代码: <?xml version="1.0" en

Android中自定义对话框(Dialog)的实例代码_Android

1.修改系统默认的Dialog样式(风格.主题) 2.自定义Dialog布局文件 3.可以自己封装一个类,继承自Dialog或者直接使用Dialog类来实现,为了方便以后重复使用,建议自己封装一个Dialog类  第一步: 我们知道Android定义个控件或View的样式都是通过定义其style来实现的,查看Android框架中的主题文件,在源码中的路径:/frameworks/base/core/res/res/values/themes.xml,我们可以看到,Android为Dialog定义

Android中自定义对话框(Dialog)的实例代码

1.修改系统默认的Dialog样式(风格.主题) 2.自定义Dialog布局文件 3.可以自己封装一个类,继承自Dialog或者直接使用Dialog类来实现,为了方便以后重复使用,建议自己封装一个Dialog类 第一步: 我们知道Android定义个控件或View的样式都是通过定义其style来实现的,查看Android框架中的主题文件,在源码中的路径:/frameworks/base/core/res/res/values/themes.xml,我们可以看到,Android为Dialog定义了

Android 中自定义Dialog样式的Activity点击空白处隐藏软键盘功能(dialog不消失)

一.需求触发场景: 项目中需要开发带有EditText的Dialog显示,要求在编辑完EditText时,点击Dilog的空白处隐藏软键盘.但是Dialog不会消失.示例如下: 二.实现方法: 发布需求时,我个人曾想过直接通过new的方式直接创建Dialog,经过多次尝试,无法实现要求,所以采用将Activity设置为Dialog样式进行展示,调用方法实现需求.具体实现如下: 本次演示示例的工程结构: 2.1AndroidMainfest.xml配置文件 需要在配置文件中将需要显示为dialog

Android中自定义的dialog中的EditText无法弹出输入法解决方案

1.解决无法弹出输入法: 在show()方法调用之前,用dialog.setView(new EditText(context))添加一个空的EditText,由于是自定义的AlertDialog,有我们指定的布局,所以设置这个不会影响我们的功能,这样就可以弹出输入法了-- 2.可以弹出输入法了,但了为了增强用户体验性,当dialog中含有editText时应该,在显示dialog的同时自动弹出键盘: (1) 可以在自定义的dialog中增加如下方法: public void showKeybo

Android 中自定义ContentProvider与ContentObserver的使用简单实例

Android 中自定义ContentProvider与ContentObserver的使用简单实例 示例说明: 该示例中一共包含两个工程.其中一个工程完成了自定义ContentProvider,另外一个工程用于测试该自定义ContentProvider且在该工程中使用了ContentObserver监听自定义ContentProvider的数据变化 以下代码为工程TestContentProvider ContentProviderTest如下: package cn.testcontentp

Android中自定义PopupWindow实现弹出框并带有动画效果_Android

使用PopupWindow来实现弹出框,并且带有动画效果 首先自定义PopupWindow public class LostPopupWindow extends PopupWindow { public Lost lost; public void onLost(Lost lost){ this.lost = lost; } private View conentView; public View getConentView() { return conentView; } public L

android自定义 iew-有没有Android中自定义布局的详细教程!

问题描述 有没有Android中自定义布局的详细教程! 有没有Android中自定义布局的详细教程!我想写一个课程表布局,在网上找了几个demo,但是里面的自定义布局看不明白! 解决方案 Composite View Composite views (也被称为 compound views) 是众多将多个view结合成为一个可重用UI组件的方法中最简单的.这种方法的实现过程是这样的: 继承相关的内建的布局. 在构造函数里面填充一个 merge 布局. 初始化成员变量并通过 findViewByI

想请教一下android中自定义布局实现的是什么?是让App自适应吗?

问题描述 想请教一下android中自定义布局实现的是什么?是让App自适应吗? 想请教一下android中自定义布局实现的是什么?是让App自适应吗? 解决方案 http://mobile.51cto.com/abased-459427.htm 解决方案二: 自定义,自己定义文件啊,,可以自己设置风格之类的,更加个性化 解决方案三: 你说的是自定义控件吧?实现的是View类 解决方案四: 自定义布局?你想说的是自定义view么?就是让你不仅仅局限于用它所提供的控件,自己去实现想要的的界面效果