EditText 软键盘】的更多相关文章

EditText 软键盘 package brother.eighteen.demoedittext; import android.content.Context; import android.text.InputType; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.inputmethod.InputMethodManager; import android.w…
一.写此文章的起因 本人在做类似于微信.易信等这样的聊天软件时,遇到了一个问题.聊天界面最下面一般类似于如图1这样(这里只是显示了最下面部分,可以参考微信等),有输入文字的EditText和表情按钮等. 1.点击表情会在这下面显示表情选择,如图2,如果之前点击输入框弹出了软键盘,那么还需要隐藏软键盘: 2.点击输入框,弹出软键盘,如果之前显示了表情选择,则还需要隐藏表情选择. 这里我们第一想到的就是需要监听软键盘的显示和隐藏,我也是这样想的,到网上一查,都是重写根布局,比如LinearLayou…
在工作过程中,常常会遇见需要根据自己的需求,控制文本框的键盘显示和隐藏. 通过查阅Android文档,介绍可以通过在清单文件中<activity>元素中添加android:windowSoftInputMode属性来处理. 这个属性主要影响两件事情: 1.软键盘的状态—当Activity显示给用户的时候,它是显示还是隐藏. 2.主活动窗口的调整—它是否调整主窗体大小来给软键盘腾出空间,或者在部分窗口被软键盘覆盖的时候,它的内容能否上拉让当前的焦点可见. 该属性设置必须由如下表格中的一个,或者一…
edittext 有个onCreateInputConnection 的方法,通过它可以自定义一个输入法连接器,那里连接器里面有个方法(finishComposingText)能监听输入完成的动作. public class MyEditText extends EditText{ public MyEditText(Context context) { super(context); } private OnFinishComposingListener mFinishComposingLis…
软键盘显示和隐藏的监听: 注: mReplayRelativeLayout是EditText的父布局 //监听软键盘是否显示或隐藏 mReplayRelativeLayout.getViewTreeObserver().addOnGlobalLayoutListener( new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { Rect r = new Rect(); mRe…
摘要:alertdialog中加入edittext但是不弹出软键盘等问题网上有很多不管用的解决方案, 本文意在给出更有效的解决办法,并初步探究其原因 正文 在对话框中插入文本框是十分常见的需求 通常我们选择在代码中创建edittext对象 这个时候就需要在代码中给edittext设置输入属性了 但是经常发现设置的属性不起作用,甚至都不弹出软键盘(虽然实体键盘可以输入) 问题的解决方案有很多种,这里介绍一种我比较常用的方法: inputPassEditText.setInputType(Input…
1.EditText有焦点(focusable为true)阻止输入法弹出 editText=(EditText)findViewById(R.id.txtBody); editText.setOnTouchListener(new OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { editText.setInputType(InputType.TYPE_NULL); // 关闭软键盘 return fa…
1.android 弹出的软键盘遮挡住EditText文本框的解决方案: 把Activit对应的布局文件filename.xml文件里的控件用比重设置布局.(例如:android:layout_weight="31")并且尽可能把高度设置成自适应的:android:layout_height="wrap_content",也就是没有设置高度的控件可压缩度的总和,如果比软键盘的高度要大,在EditText文本输入的时候,弹出的软键盘就不会遮挡住文本输入框. 2.设置默…
我们知道在android中点击edittext框就会自动弹出软键盘,那怎么通过点击edittext之外的部分使软键盘隐藏呢?(微信聊天时的输入框就是这个效果,这个给用户的体验还是很不错的) 首先我们要先定义一个隐藏软键盘的工具类方法: public static void hideSoftKeyboard(Activity activity) { InputMethodManager inputMethodManager = (InputMethodManager) activity.getSy…
#EditText默认不弹出软键盘# 网上关于EditText默认情况下不弹出软键盘,当手触摸到EditText,获取焦点时候,才会弹出软键盘,貌似都不能用,其实,在oncreate()方法中,加上 getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); 就能达到预期效果,至于,让EditText永远不获取焦点的方法,网上大把的,百度即可,暂时没有遇见让EditText永远不获取焦点的场…
关于弹出软键盘布局变形解决方案: 在androidMainfest.xml文件中在此Activity中写入 android:windowSoftInputMode="adjustPan" 在实际开发中,有的页面用到Edittext控件,这时候进入该页面可能会自动弹出输入法 这么显示不太友好,所以需要设置一下让Edittext默认不自动获取焦点.在网上查资料解决办法如下: 在EditText的父级控件中找一个,设置成 android:focusable="true"…
很奇怪,我在给EditText设置setOnFocusChangeListener()监听,但是始终未能成功,焦点一直存在,不知其原因,,代码如下: et_username.setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { if (!hasFocus) { String tempName = et_userna…
刚进入activity的时候,如果布局组件有edittext的话,往往edittext会获取焦点,自动弹出软键盘,影响整个界面的视觉效果.解决方法如下:   可以在edittext的父布局结构中(例如LinearLayout,RelativeLayout等)添加    android:focusable="true"    android:focusableInTouchMode="true"   这个两个属性,就可以了.…
1. AppCompatActivity去掉标题栏 此处除掉标题栏,需要注意一点,AppCompactActivity是继承自Activity.然而,AppCompactActivity据查看网上资料得知,其实它貌似没有标题栏,上面显示的标题栏是一个ActionBar控件(PS:即标题栏部分是一个控件,该控件功能还比较强大),因此AppCompactActivity可以对该控件添加相关返回.许多等类似功能按钮,如果不添加这些按钮看起来就像是一个标题栏. 所以,在网上许多去配置value文件夹中的…
关于popupwindow中EditText获取焦点后自动弹出软键盘的问题,玩过手机qq或空间的童鞋应该知道,再点击评论时会弹出一个编辑框,并且伴随软键盘一起弹出是不是很方便啊,下面我们就来讲一下实现方法,先看效果: 实现过程其实就是在listview的适配器Adapter中给"评论"这个所在的这个空间设置一个监听,当点击评论时,弹出popup,并异步弹出软键盘,看一下我的适配器中的代码片段: //评论设置监听 holder.pinglun.setOnClickListener(new…
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 记录自定义EditText控件实现监听软键盘隐藏事件的功能.基本上和参考资料相同. 效果图    代码分析 自定义EditText子类,然后重写onKeyPreIme方法 @Override public boolean onKeyPreIme(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() =…
参考代码: public void setFocusEditTextAndShowSoftInput(final EditText editText){ editText.setFocusable(true); editText.setFocusableInTouchMode(true); editText.requestFocus();//聚焦 //判断当前editText是否绘制完成,绘制完成后再进行展示软键盘 editText.getViewTreeObserver().addOnGlob…
2017-08-14 21:44:23 有很多中情况,分别展示. 1.Activity不做任何设置,布局使用LinearLayout 会自动滚动EditText之上的所有View,代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:la…
转自:http://www.cnblogs.com/haofei/p/3305030.html 在ListView中,每次弹出软键盘后就会重新调用getView()方法,导致EditText失去焦点. 解决办法:在getView()方法中添加监听器: editText.setOnTouchListener(new OnTouchListener() {            @Override            public boolean onTouch(View v, MotionEve…
在Activity启动时,默认隐藏软键盘: 在AndroidManifest.xml中找到你得Activity ,为它添加属性: android:windowSoftInputMode="stateAlwaysHidden" ------------------------ 输入遮挡Edittext时的处理: 在AndroidManifest.xml中找到你得Activity ,为它添加属性: android:windowSoftInputMode="adjustPan&qu…
公司的项目中要求在点击搜索的时候弹出一个搜索框,搜索框中有一个EditText,用于数据搜索关键字,要求在弹出PopupWindow的时候自动弹出软键盘,原以为只要写上着两行代码可以搞的问题: InputMethodManager inputMethodManager=(InputMethodManager) et_search_key.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.…
1. 跳转到新的页面自动软键盘显示情况: 在配置清单文件AndroidManifest.xml文件,对Activity的windowSoftInputMode属性进行设置. stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置 stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示 stateHidden:用户选择activity时,软键盘总是被隐藏 stateAlwaysH…
程序进入某个activity直接弹出软键盘,不能直接在OnCreate中设置,必须等View绘制事件完毕才可以弹出,需要用到Timer辅助实现,如果要实现输入的功能,必须让EditText获得焦点. //应用启动后自动打开输入法 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Timer ti…
Android开发之ListView+EditText-要命的焦点和软键盘问题解决办法 [原文链接] 这篇文章完美的解决了我几个月没结论的bug... 感谢热爱分享的技术达人~ 我是怎么走进这个大坑的..... 需求: 在listview中出一个EditText 接受用户输入消息. 前期解决方案: 给这个EditText绑定焦点事件.... 悲剧就开始了... 知道吗?当这个EditTextView被点了下,它的焦点就不断的获取,失去,获取,失去...  只点一下... 就频繁的重复..最后大部…
Android N(7.0) 在ListView里显示EditText时软键盘弹出时会自动切换到全键盘的问题? 问题症状描述 Activity 在AndroidManifest.xml里设置android:windowSoftInputMode="adjustPan" 在ListView里绘制Item Item控件为EditText EditText设置InputType为Number 当在Android 7.0系统上,点击EditText时,弹出的软键盘为“数字”输入模式,但是瞬间就…
在EditText控件接近底部的情况下 软键盘弹出后会把获得焦点的EditText控件遮挡 无法看到输入信息  防止这种情况发生 就须要设置AndroidManifest.xml的属性 前面的xml信息省略 在activity中 添加android:windowSoftInputMode="adjustPan"         <activity            ........................................................…
在android中点击EditText的时候会弹出软键盘,但当我们输入完毕或者想隐藏软键盘时,我们可以点击软键盘上的隐藏按钮,这种方法固然可行,但是为了提高用户体验,我们常常要实现这种功能:当输入完毕后想隐藏软键盘时我们通过直接点击EditText的之外的其他空白处就可以隐藏软键盘,这种做法明显比点击软键盘自身的隐藏按钮要方便的多. 要实现上述功能只需重写 public boolean onTouchEvent(MotionEvent event)方法,做相应软键盘隐藏的处理操作即可. Inpu…
隐藏EditText弹出的软键盘输入(SoftInput) 本文地址: http://blog.csdn.net/caroline_wendy 保持界面的整洁, 能够选择在进入界面时, 隐藏EditText控件的软键盘, 在点击EditView时, 再弹出; 能够在TextView所在的Activity中, 加入一个属性: android:windowSoftInputMode="stateHidden|adjustResize" 表明: 软键盘的输入模式是stateHidden(隐藏…
EditText初始不弹出软键盘,只有光标显示,点击再弹出 2013-06-08 10:13 21305人阅读 评论(5) 收藏 举报  分类: android基础(91)  版权声明:本文为博主原创文章,未经博主允许不得转载. 刚进来的时候,不弹出键盘,EditText 有个光标上面闪,证明是可编辑的,这个还是符合用户习惯的,从用户体验的角度上讲,还保留光标的闪动是好的. 解决方法1:(已经试过,证明可以) 在activity属性中设置Android:windowSoftInputMode="…
由于项目中要用自己定义的随机键盘,所以必须得屏蔽系统软键盘,可是在4.0的測试系统来看,使用editText.setInputType(InputType.TYPE_NULL)方法固然能隐藏键盘,可是光标也会隐藏,所以无法使用. 3.0下面版本号能够用editText.setInputType(InputType.TYPE_NULL)来实现.或者设置editText.setKeyListener(null)来实现. 3.0以上版本号除了调用隐藏方法setShowSoftInputOnFocus(…