在有EditText控件的AlertDialog对话框中自动弹出输入法

我们先回顾一下创建AlertDialog的一般步骤。

一 inflate AlertDialog的布局文件

例如,其中dlg就是我们的布局文件。

View layout = LayoutInflater.from(ctx).inflate(R.layout.dlg, null);

二 构建AlertDialog.Builder

AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(ctx);

三 设置Dialog的一些属性

比如多少个按钮,有无Title,如果有那么Title的文本是什么,以及还可以设置各个按钮的监听器

四 把布局设置到对话框

dialogBuilder.setView(layout)

五 创建对话框

AlertDialog dlg = dialogBuilder.create();

六 显示对话框

dlg.show();

今天,我们要在对话框显示的时候,同时显示输入法。我们知道,Activity设置AndroidManifest就可以。

但是,AlertDialog需要一些特殊的处理。其基本方法就是在创建对话框之后修改AlertDialog的窗口属性。

代码如下:

dlg.getWindow().setSoftInputMode(

WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

是不是很简单呢?

来自为知笔记(Wiz)

时间: 2024-08-24 19:43:05

在有EditText控件的AlertDialog对话框中自动弹出输入法的相关文章

EditText控件实现只读

android的EditText控件实现只读只需设置三个方法: editText.setCursorVisible(false);//隐藏光标 editText.setFocusable(false);//失去焦点 editText.setFocusableInTouchMode(false);//虚拟键盘隐藏 如果需记录状态,可以继承EditText类,添加一个属性enable来控制

安卓Android控件ListView获取item中EditText值

可以明确,现在没有直接方法可以获得ListView中每一行EditText的值. 解决方案:重写BaseAdapter,然后自行获取ListView中每行输入的EditText值. 大概算法:重写BaseAdapter.getView函数,用一个数组存储EditText中的值,根据position即数组下标,在getView中动态更新EditText和动态获取EditText中的值.因为ListView中的item是复用的,如果不动态清空或动态获取EditText中值,就会出现数据紊乱,或者没数

android开发 软键盘出现后 防止EditText控件遮挡 总体平移UI

在EditText控件接近底部的情况下 软键盘弹出后会把获得焦点的EditText控件遮挡 无法看到输入信息 防止这种情况发生 就须要设置AndroidManifest.xml的属性 前面的xml信息省略 在activity中 添加android:windowSoftInputMode="adjustPan" <activity ........................................................ android:windowSoftI

android如何改变editText控件中部分文字的格式

我们在使用editText控件的时候,会遇到这样的一问题,就是我在输入时候,当我选择让文字变粗时,我输入的文字就会变粗,当我去掉选择时,再输入文字时,文字就是正常情况了. 这种情况,大家一般认为很简单啊.editText中不是有setTypeface这个方法吗.只要使用edit_temp.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL));就可以了.可是问题来了.这种方法,是将editText中所有的文字的格式全变了.可是我想要的格式是

android EditText控件如何禁止输入内容

问题? android EditText控件如何禁止往里面输入内容? 修改版解决方法: EditText editText =  (EditText) findViewById(R.id.editText1); editText.setKeyListener(null); 看到这个问题大家可能有点奇怪了,EditText的功能不就是往上面写入内容吗? 再者,如果真要禁止输入文本,在布局文件中添加 android:focusable="false", 或者在代码中使用editText.s

Android EditText控件行尾为表情时的BUG

今天处理项目上的一个诡异BUG,贴吧Android客户端发贴框是支持表情文字混排的,但是当发贴框的行内容末尾为表情时,尝试在表情后插入文字,就悲剧了:文字其实写进去了,但是不会显示出来.研究了一下,发现是Android原生EditText控件的一个bug. 下面是拿腾讯的微信做个测试,分析一下这个bug的产生现象和原因.注:微信的回复框也是EditText控件来做的,同样支持表情文字混排. 首先在输入框中输入两行内容,然后尝试将光标拖动到第一行的最末尾字符处:你会发现,你办不到! 光标一定是停留

android 动态背景的实现以及SurfaceView中添加EditText控件

      首先还是一贯作风,我们先看案例: 静态图看不出来效果,如果用过此软件(扎客)的同学们都知道,她的背景会动.怎么样,是不是觉得很时尚,起码比静态的要好(个人观点).其实实现起来并 不复杂,这个如果让做游戏程序员做简直太小儿科了,这里我说明一点,其实我们做应用的也应该多少了解下游戏编程思维,起码对我们做应用有很好的帮助. 下面我简单介绍下实现方式. 实现原理:自定义一个SurfaceView控件.对之不停的onDraw,使得其背景动起来. 对于SurfaceView如果不了解的同学们麻烦

Android开发中给EditText控件添加TextWatcher监听实现对输入字数的限制

做这个功能是因为开发项目的时候,由于后台接口的一些参数的值的长度有要求,不能超过多少个字符,所以在编辑框中输入的字符是要有限制的. 下面就来看一下demo的实现过程: 首先,在xml控件中放置一个EditText控件,然后初始化该控件并对该控件添加文本监听.xml自己简单的设计一下,代码较为简单,直接上代码: package com.example.edittext; import android.app.Activity; import android.os.Bundle; import an

android开发 软键盘出现后 防止EditText控件遮挡 整体平移UI

在EditText控件接近底部的情况下 软键盘弹出后会把获得焦点的EditText控件遮挡 无法看到输入信息 防止这样的情况发生 就需要设置AndroidManifest.xml的属性 前面的xml信息省略 在activity中 增加android:windowSoftInputMode="adjustPan" <activity ........................................................ android:windowSoft