场景一.点击EditText之外的空白区域隐藏键盘: how to hide soft keyboard on android after clicking outside EditText? 首先定义一个关闭键盘的方法: /** * 关闭软键盘 */ public static void closeSoftKeyboard(Context context) { InputMethodManager inputMethodManager = (InputMethodManager)context…
软键盘显示和隐藏的监听: 注: mReplayRelativeLayout是EditText的父布局 //监听软键盘是否显示或隐藏 mReplayRelativeLayout.getViewTreeObserver().addOnGlobalLayoutListener( new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { Rect r = new Rect(); mRe…
一.前言 如果有需要用到输入的地方,通常会有需要自动弹出或者收起软键盘的需求.开篇明义,本文会讲讲弹出和收起软键盘的一些细节,最终还会从源码进行分析. 想要操作软键盘,需要使用到 InputMethodManager ,它是一个系统服务,可以使用 Context.getSystemService() 获取到它.而很多关键的逻辑代码,都是在 InputMethodManagerService 中实现的. 特别说明:本文的所有分析的源码,都是基于 Android 26 的源码. 二.操作软键盘 2.…
在android中,常常会和输入法的软件键盘交互.在Manifest文件中,系统给activity的一个属性-windowSoftInputMode来控制输入法的显示方式. 该属性提供了Activity的window与软键盘的window交互的方式.这里的属性设置有双方面的影响: 1.软键盘的显示与隐藏.-当Activity界面成为用户的焦点时,或隐藏或显示. 2. 对Activty的主window窗体进行调整.或者将Activity的window窗体调小以便为软键盘腾出空间,或者当Activi…
MainActivity如下: package cc.testsimpleactionbar0; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.app.ActionBar; import android.app.Activity; /** * Demo描述: * 显示…
在工作过程中,常常会遇见需要根据自己的需求,控制文本框的键盘显示和隐藏. 通过查阅Android文档,介绍可以通过在清单文件中<activity>元素中添加android:windowSoftInputMode属性来处理. 这个属性主要影响两件事情: 1.软键盘的状态—当Activity显示给用户的时候,它是显示还是隐藏. 2.主活动窗口的调整—它是否调整主窗体大小来给软键盘腾出空间,或者在部分窗口被软键盘覆盖的时候,它的内容能否上拉让当前的焦点可见. 该属性设置必须由如下表格中的一个,或者一…
1.方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示) InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 2.方法二(view为接受软键盘输入的视图,SHOW_FORCED表示强制显示) InputMethodManager imm =…
我们使用的大多数android手机上的Home键,返回键以及menu键都是实体触摸感应按键.如果你用Google的Nexus4或Nexus5话,你会发现它们并没有实体按键或触摸感应按键,取而代之的是在屏幕的下方加了一个小黑条,在这个黑条上有3个按钮控件,这种设置无疑使得手机的外观的设计更加简约.但我遇到身边用Nexus 4手机的人都吐槽这种设计,原因很简单:好端端的屏幕,被划出一块区域用来显示3个按钮(如下图所示):Back, Home, Recent.并且它一直用在那里占用着. 在androi…
显示: InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 隐藏: InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); imm.hideSo…
最近项目中有一个编辑框,下面是个ListView.在触发编辑框弹出软键盘后,ListView还能滑动,并且ListView的item还能响应单击.这样的体验效果很不好.于是便想在滑动或单击item时判断键盘是否弹出,若弹出,则把它隐藏. 网上一搜,发现Android并没有直接提供软键盘的弹出与隐藏判断,一些解决方案诸如判断父控件的高度或者判断 if(getWindow().getAttributes().softInputMode==WindowManager.LayoutParams.SOFT…
<pre name="code" class="objc"><pre name="code" class="objc">#pragma mark view将要显示时 - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; //注册监听键盘显隐通知 //键盘出现时 [[NSNotificationCenter def…
if (android.os.Build.VERSION.SDK_INT <= 10) {//4.0以下 danielinbiti editText.setInputType(InputType.TYPE_NULL); } else { this.act.getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); try { Class<EditText> cls =…
// 显示动画 mShowAction = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, -1.0f, Animation.RELATIVE_TO_SELF, -0.0f); mShowAction.setRepeatMode(Animation.REVERSE); mShowAction.setDurat…
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 记录输入框显示.隐藏密码的简单布局以及实现方式. 效果图    代码分析 方式一 /**方式一:*/ private void showOrHiddenPwd(){ if(! showPwd){ showPwd = true; img_pwdshow.setImageResource(R.drawable.pwd_show); //显示密码 edt_password.setTransformationMethod(HideRet…
介绍 A text field allows the user to type text into your app. It can be either single line or multi-line. Touching a text field places the cursor and automatically displays the keyboard. In addition to typing, text fields allow for a variety of other a…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 如果你试图在软键盘的显示或隐藏时去改变的UI界面结构,仅有的方法是你可以依赖使用键盘的通知消息. UITextField代理消息只会在文本区域开始被编辑时发出,而不管屏幕上是否有软件盘显示. 记住,用户可以使用蓝牙键盘连接iOS设备,并且使用它去编辑文本区域或任何其他你App中可输入控件的内容. 在使用蓝牙键盘的情况下,并没有软键盘会显示在屏幕上--如果你在文…
android中的带有输入功能的页面布局经常被弹出的键盘遮挡,一种处理方法是监听键盘的弹出,设置布局的padding或隐藏某些占位控件,使得输入框不被键盘遮挡.一种常用的方法是当Activity设置为android:windowSoftInputMode="adjustResize"的时候,键盘的弹出和隐藏会触发onSizeChaged的事件,用下面的自定义RealativeLayout则能监听这个函数并判断键盘是弹出还是收起. /* * @Project: GZJK * @Autho…
/** * 控制手机虚拟键盘的显示和隐藏 */public class InputMethodUtil { /** * 隐藏虚拟键盘 * @param v  参数v为获取焦点对象view */ public static void hideKeyboard(View v) { InputMethodManager imm = (InputMethodManager) v.getContext() .getSystemService(Context.INPUT_METHOD_SERVICE); i…
在每一个IOS应用中,几乎不可避免的要进行文本输入操作,例如要求用户填写登陆注册信息,进行话题的评论回复,等等.用到的文本输入组件有UITextField,UITextView,对于这两个组件的相关属性和方法想必大家都很熟悉,但貌似对于键盘的显示或隐藏过程貌似常常不是很清楚,其实本人也是一知半解,所以趁此做简单的总结,基本上以下描述出自于官方的文档,并没有什么更改. 1.开启键盘面板 当用户触击某一个view时,系统会自动指定该view为第一响应对象(first responser),(关于第一…
一.不自动弹出键盘: 带有EditText控件的在第一次显示的时候会自动获得focus,并弹出键盘,如果不想自动弹出键盘,有两种方法: 方法一:在mainfest文件中把对应的activity设置 android:windowSoftInputMode="stateHidden" 或者android:windowSoftInputMode="stateUnchanged". 值 描述 "stateUnspecified" 软键盘的状态 (是否它是…
一.需求 在开发Android app过程中经常用到EditText,需要在界面加载完成后自动弹出系统键盘,更希望可以控制键盘的隐藏和显示,本文介绍其实现方法. 二.系统键盘的自动弹出 @Overridepublic void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); this.getWindow().setSoftInputMode(WindowManager.LayoutPar…
在上一期我们学习了FragmentManager和FragmentTransaction的作用,并用案例学习了Fragment的添加.移除和替换,本期一起来学习Fragment显示和隐藏.绑定和解绑. 一.Fragment显示和隐藏 由于上一期有简单介绍过对应的api,这里直接通过案例来进行学习. 创建一个新的module名为fragmentshowhide,然后创建一个Fragment对应的布局文件fragment_demo.xml,代码如下: <?xml version="1.0&qu…
package cc.c; import android.app.Activity; import android.os.Bundle; import android.text.Selection; import android.text.Spannable; import android.text.method.HideReturnsTransformationMethod; import android.text.method.PasswordTransformationMethod; im…
Activity 启动时软键盘默认状态 在清单文件(manifest .xml)中可以通过在 Activity 标签中增加属性控制软键盘的默认状态: android:windowSoftInputMode="stateHidden" 上面的 stateHidden 就是表示隐藏,同理 stateVisible 就是代表可见. 使用 EditView 的方法来控制软键盘的显示 EditView 提供了一个方法来控制当焦点在该 EditView 上时,软键盘是否显示.(API 21 以上)…
1.方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示) InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 2.方法二(view为接受软键盘输入的视图,SHOW_FORCED表示强制显示) InputMethodManager imm =…
   前言:因为项目要求做一个类似贴吧一样的东西,可以评论,所以必不可少地需要用到软键盘的隐藏和显示. Step 1 废话不多说,先上封装好的代码. public class CommonUtils { public static void showSoftInput(Context context, View view){ InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_M…
1.方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示) 1 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 2 imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 2.方法二(view为接受软键盘输入的视图,SHOW_FORCED表示强制显示) 1 InputMethodManager…
EditText 简介: EditText 控件继承 TextView ,它有TextView的所有属性和方法,并且自身是可编辑的: extends TextView java.lang.Object    ↳ android.view.View    ↳ android.widget.TextView    ↳ android.widget.EditText Known Direct Subclasses AutoCompleteTextView,ExtractEditText,SearchE…
android:id="@+id/editSms" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/saveSms" android:inputType="textMultiLine" android:gravity="left|top" andro…
工具类,拿走就能用: import android.annotation.TargetApi; import android.app.Activity; import android.content.Context; import android.graphics.Rect; import android.os.Build; import android.util.DisplayMetrics; import android.view.inputmethod.InputMethodManager…