我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android实现可输入数据的弹出框

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android实现可输入数据的弹出框

之前一篇文章,介绍了如何定义从屏幕底部弹出PopupWindow即《Android Animation实战之屏幕底部弹出PopupWindow》,写完之后,突然想起之前写过自定义内容显示的弹出框,就随手写了两个实例,分享出来:

第一种实现方式:继承Dialog

1.1 线定义弹出框要显示的内容:create_user_dialog.xml


<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 android:id="@+id/create_user_dialog_view" 
 android:layout_width="fill_parent" 
 android:layout_height="wrap_content" 
 android:background="@drawable/dialog_load_bg" 
 android:minWidth="200dp" 
 android:orientation="vertical" 
 android:padding="10dp" 
 android:paddingBottom="30dp" 
 android:paddingTop="30dp"> 
 <EditText 
 android:id="@+id/text_name" 
 android:layout_width="fill_parent" 
 android:layout_height="wrap_content" 
 android:background="@drawable/edit_bg" 
 android:hint="姓名" 
 android:minHeight="45dp" 
 android:textSize="18sp" /> 
 <EditText 
 android:id="@+id/text_mobile" 
 android:layout_width="fill_parent" 
 android:layout_height="wrap_content" 
 android:layout_marginTop="5dp" 
 android:background="@drawable/edit_bg" 
 android:hint="手机号" 
 android:minHeight="45dp" 
 android:textSize="18sp" /> 
 <EditText 
 android:id="@+id/text_info" 
 android:layout_width="fill_parent" 
 android:layout_height="wrap_content" 
 android:layout_marginTop="5dp" 
 android:background="@drawable/edit_bg" 
 android:gravity="top|left" 
 android:hint="个性签名" 
 android:minHeight="145dp" 
 android:textSize="18sp" /> 
 <Button 
 android:id="@+id/btn_save_pop" 
 android:layout_width="fill_parent" 
 android:layout_height="wrap_content" 
 android:layout_marginTop="5dp" 
 android:text="保存" /> 
</LinearLayout> 

 1.2 定义要弹出的Dialog


public class CreateUserDialog extends Dialog { 
  
 Activity context; 
 private Button btn_save; 
 public EditText text_name; 
 public EditText text_mobile; 
 public EditText text_info; 
 private View.OnClickListener mClickListener; 
 public CreateUserDialog(Activity context) { 
 super(context); 
 this.context = context; 
 } 
 public CreateUserDialog(Activity context, int theme, View.OnClickListener clickListener) { 
 super(context, theme); 
 this.context = context; 
 this.mClickListener = clickListener; 
 } 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
 super.onCreate(savedInstanceState); 
 // 指定布局 
 this.setContentView(R.layout.create_user_dialog); 
 text_name = (EditText) findViewById(R.id.text_name); 
 text_mobile = (EditText) findViewById(R.id.text_mobile); 
 text_info = (EditText) findViewById(R.id.text_info); 
  
 Window dialogWindow = this.getWindow(); 
 WindowManager m = context.getWindowManager(); 
 Display d = m.getDefaultDisplay(); // 获取屏幕宽、高用 
 WindowManager.LayoutParams p = dialogWindow.getAttributes(); // 获取对话框当前的参数值 
 // p.height = (int) (d.getHeight() * 0.6); // 高度设置为屏幕的0.6 
 p.width = (int) (d.getWidth() * 0.8); // 宽度设置为屏幕的0.8 
 dialogWindow.setAttributes(p); 
 // 根据id在布局中找到控件对象 
 btn_save = (Button) findViewById(R.id.btn_save); 
 // 为按钮绑定点击事件监听器 
 btn_save.setOnClickListener(mClickListener); 
 this.setCancelable(true); 
 } 
} 

1.3 调用弹出框


public void showEditDialog(View view) { 
 createUserDialog = new CreateUserDialog(this,R.style.loading_dialog,onClickListener); 
 createUserDialog.show(); 
} 
private View.OnClickListener onClickListener = new View.OnClickListener() { 
 @Override 
 public void onClick(View v) { 
 switch (v.getId()) { 
 case R.id.btn_save: 
  String name = createUserDialog.text_name.getText().toString().trim(); 
  String mobile = createUserDialog.text_mobile.getText().toString().trim(); 
  String info = createUserDialog.text_info.getText().toString().trim(); 
  System.out.println(name+"——"+mobile+"——"+info); 
  break; 
 } 
 } 
 }; 

第二种实现方式:继承PopupWindow

2.1 定义弹出框布局文件,和1.1定义的一致

2.2 定义要弹出的PopupWindow


public class CreateUserPopWin extends PopupWindow { 
 private Context mContext; 
 private View view; 
 private Button btn_save_pop; 
 public EditText text_name; 
 public EditText text_mobile; 
 public EditText text_info; 
 public CreateUserPopWin(Activity mContext, View.OnClickListener itemsOnClick) { 
 this.mContext = mContext; 
 this.view = LayoutInflater.from(mContext).inflate(R.layout.create_user_pop, null); 
 text_name = (EditText) view.findViewById(R.id.text_name); 
 text_mobile = (EditText) view.findViewById(R.id.text_mobile); 
 text_info = (EditText) view.findViewById(R.id.text_info); 
 btn_save_pop = (Button) view.findViewById(R.id.btn_save_pop); 
 // 设置按钮监听 
 btn_save_pop.setOnClickListener(itemsOnClick); 
 // 设置外部可点击 
 this.setOutsideTouchable(true); 
  
 // 设置视图 
 this.setContentView(this.view); 
 // 设置弹出窗体的宽和高 
  
 Window dialogWindow = mContext.getWindow(); 
 WindowManager m = mContext.getWindowManager(); 
 Display d = m.getDefaultDisplay(); // 获取屏幕宽、高用 
 WindowManager.LayoutParams p = dialogWindow.getAttributes(); // 获取对话框当前的参数值 
 this.setHeight(RelativeLayout.LayoutParams.WRAP_CONTENT); 
 this.setWidth((int) (d.getWidth() * 0.8)); 
 // 设置弹出窗体可点击 
 this.setFocusable(true); 
 } 
} 

2.3 调用该弹框组件


public void showEditPopWin(View view) { 
 createUserPopWin = new CreateUserPopWin(this,onClickListener); 
 createUserPopWin.showAtLocation(findViewById(R.id.main_view), Gravity.CENTER, 0, 0); 
 } 
private View.OnClickListener onClickListener = new View.OnClickListener() { 
 @Override 
 public void onClick(View v) { 
 switch (v.getId()) { 
 case R.id.btn_save_pop: 
  String name1 = createUserPopWin.text_name.getText().toString().trim(); 
  String mobile1 = createUserPopWin.text_mobile.getText().toString().trim(); 
  String info1 = createUserPopWin.text_info.getText().toString().trim(); 
  System.out.println(name1+"——"+mobile1+"——"+info1); 
  createUserPopWin.dismiss(); 
  break; 
 } 
 } 
 }; 
您可能感兴趣的文章:Android 多种简单的弹出框样式设置代码Android使用Dialog风格弹出框的Activityreact-native 封装选择弹出框示例(试用ios&android)Android中自定义PopupWindow实现弹出框并带有动画效果Android 仿微信朋友圈点赞和评论弹出框功能高仿IOS的Android弹出框Android仿微信进度弹出框的实现方法Android编程实现仿QQ发表说说,上传照片及弹出框效果【附demo源码下载】Android自定义弹出框dialog效果Android自定义底部弹出框ButtomDialog


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android实现可输入数据的弹出框

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android实现可输入数据的弹出框

之前一篇文章,介绍了如何定义从屏幕底部弹出PopupWindow即《Android Animation实战之屏幕底部弹出PopupWindow》,写完之后,突然想起之前写过自定义内容显示的弹出框,就随手写了两个实例,分享出来:第一种实现方式
2022-06-06

Android输入法弹出时覆盖输入框问题的解决方法

当一个activity中含有输入框时,我们点击输入框,会弹出输入法界面,整个界面的变化效果与manifest中对应设置的android:windowSoftInputMode属性有关,一般可以设置的值如下,
2022-06-06

Android实现弹出登陆框的方案

下面是我的实现经历: 1.首先,我是直接使用AlertDialog来实现,确定是,形状有点难看,而且获得Dialog里面的控件略显麻烦(因为我要做的登陆框有一定的布局),然后就给我就放弃了,可能因为我太水了,不能很好的使用它 2.然后我就使
2022-06-06

Android使用Activity实现简单的可输入对话框

1、需求分析众所周知,在应用中这样那样的评论总是少不了的,有的应用是在底部直接加一个EditText和一个Button,让用户输入文字或者表情之后点击按钮提交;而有的虽然也放置了EditText,但仅仅是一个“摆设”,并不具备输入功能,用户
2023-05-30

java怎么实现数据的输入和输出

在Java中,可以使用Scanner类来实现数据的输入和使用System.out.println()方法来实现数据的输出。以下是一个简单的示例代码,演示了如何使用Scanner类实现数据的输入和使用System.out.println()
2023-10-27

Android实现底部弹出的对话框功能

环境: 主机:WIN10 开发环境:Android Studio 2.2 Preview 3说明:两种方法实现底部弹出的对话框: Dialog DialogFragment推荐用DialogFragment效果图:布局文件dialo
2023-05-31

Android开发中实现一个弹出框的方法

本篇文章给大家分享的是有关Android开发中实现一个弹出框的方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。截图:动画效果介绍:1.点击ActionBar上“+”按钮,菜单
2023-05-31

Android仿微信进度弹出框的实现方法

MainActivity:package com.ruru.dialogproject; import android.app.Activity; import android.os.Bundle; import android.vi
2022-06-06

C语言怎么实现数据输入和输出

本文小编为大家详细介绍“C语言怎么实现数据输入和输出”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言怎么实现数据输入和输出”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。语句C语言的语句用来向计算机系统发出操
2023-07-02

Android的支付密码输入框实现浅析

先看一下效果图实现思路:变成点的控件不是TextView和EditText而是Imageview。首先写一个RelativeLayout里边包含6个ImageView和一个EditText(EditText要覆盖ImageView)将Edi
2022-06-06

AVL树数据结构输入与输出怎么实现

本篇内容介绍了“AVL树数据结构输入与输出怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!AVL树(平衡二叉树):AVL树本质上是一颗
2023-06-30

Android监听输入法弹窗和关闭的实现方法

用过ios的都知道ios上输入法关闭的同时会自动关闭输入框,那么在android上如何实现监听输入法弹出和关闭呢?本篇文章就为你提供了一种可靠的实现方式。 演示效果视频地址 首先在AndroidManifest中配置android:wind
2022-06-06

Android实现弹出输入法时顶部固定中间部分上移的效果

前言 最近做项目时碰到一个问题,在意见反馈里面,提交按钮写到顶部,当用户输入反馈意见或者邮箱手机号时,弹出的输入法会上移整个页面,导致提交按钮显示不了。 很明显,这样的界面是非常不友好的,找了一些资料无果后,只好自己想办法解决,经过多次尝试
2022-06-06

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录