`
xp9802
  • 浏览: 1211786 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

EditText和软键盘

 
阅读更多

EditText和软键盘

问题1:一开始oncreate进入某个含有EditText的View,软键盘就显示出来了,交互很不好,还没需要它就出来了。

1)在Manifest.xml文件中相应的activity下添加一下代码:
android:windowSoftInputMode="stateHidden"

2)让EditText失去焦点,使用EditText的clearFocus方法
例如:EditText edit=(EditText)findViewById(R.id.edit);
edit.clearFocus();

3)强制隐藏Android输入法窗口
例如:EditText edit=(EditText)findViewById(R.id.edit);
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(edit.getWindowToken(),0);

4).EditText始终不弹出软件键盘
例:EditText edit=(EditText)findViewById(R.id.edit);
edit.setInputType(InputType.TYPE_NULL);

5):一个view焦点的设置是从上到下,所以只在要EditText上加一个可聚焦的控件,然后每次oncreate后展现时,焦点就不在EditText上了:

<LinearLayout android:focusable="true" android:focusableInTouchMode="true" android:layout_width="0px" android:layout_height="0px"/>

<EditText > </EditText>
(外篇

android:windowSoftInputMode

活动的主窗口如何与包含屏幕上的软键盘窗口交互。这个属性的设置将会影响两件事情:

1>   软键盘的状态——是否它是隐藏或显示——当活动(Activity)成为用户关注的焦点。

2>   活动的主窗口调整——是否减少活动主窗口大小以便腾出空间放软键盘或是否当活动窗口的部分被软键盘覆盖时它的内容的当前焦点是可见的。

它的设置必须是下面列表中的一个值,或一个”state…”值加一个”adjust…”值的组合。

在任一组设置多个值——多个”state…”values,例如&mdash有未定义的结果。各个值之间用|分开。

例如:

<activity android:windowSoftInputMode="stateVisible|adjustResize" . . . >

在这设置的值(除"stateUnspecified"和"adjustUnspecified"以外)将覆盖在主题中设置的值。



------------------------------无聊的分割线---------------------------------------

下面是对值描述:

"stateUnspecified" 软键盘的状态(是否它是隐藏或可见)没有被指定。

系统将选择一个合适的状态或依赖于主题的设置。这个是为了软件盘行为默认的设置。



"stateUnchanged" 软键盘被保持无论它上次是什么状态,是否可见或隐藏,当主窗口出现在前面时。



"stateHidden" 当用户选择该Activity时,软键盘被隐藏——也就是,当用户确定导航到该Activity时,

而不是返回到它由于离开另一个Activity。



"stateAlwaysHidden" 软键盘总是被隐藏的,当该Activity主窗口获取焦点时。



"stateVisible" 软键盘是可见的,当那个是正常合适的时(当用户导航到Activity主窗口时)。



"stateAlwaysVisible" 当用户选择这个Activity时,软键盘是可见的——也就是,

也就是,当用户确定导航到该Activity时,而不是返回到它由于离开另一个Activity。



"adjustUnspecified" 它不被指定是否该Activity主窗口调整大小以便留出软键盘的空间,

或是否窗口上的内容得到屏幕上当前的焦点是可见的。

系统将自动选择这些模式中一种主要依赖于是否窗口的内容有任何布局视图能够滚动他们的内容。

如果有这样的一个视图,这个窗口将调整大小,

这样的假设可以使滚动窗口的内容在一个较小的区域中可见的。这个是主窗口默认的行为设置。

    "adjustResize" 该Activity主窗口总是被调整屏幕的大小以便留出软键盘的空间。

    "adjustPan" 该Activity主窗口并不调整屏幕的大小以便留出软键盘的空间。

相反,当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分。

这个通常是不期望比调整大小,因为用户可能关闭软键盘以便获得与被覆盖内容的交互操作。

)

问题2:onBackPressed事件后返回了含有EditText的某个View,点击EditText ,软键盘死活不出来。


解决:问题的原因是因为在离开这个界面的时候焦点实在EditText上的,如果保持这个view,当 再次onBackPressed返回这个界面的时候,焦点还在EditText上,导致软键盘出不来了,为什么还没探索。只要在onBackPressed函数里面,将要返回的view clearFocus();就行了。焦点重新设置。

分享到:
评论

相关推荐

    软键盘遮住悬浮窗的EditText、软键盘消失无法监听返回键

    在Android开发中,有时会遇到一个常见的问题:当用户在悬浮窗内的EditText输入时,软键盘弹出可能会遮挡住部分视图,导致用户体验下降。本文将深入探讨如何解决这一问题,并实现软键盘与悬浮窗的联动,即软键盘弹出...

    Android EditText 仿软键盘删除按钮实现

    有时候,为了提供更好的用户体验,我们可能需要自定义`EditText`的功能,比如实现类似软键盘上的删除按钮,让用户在长按时可以连续删除文本。这个功能在描述中被称为“长按删除按钮,不断删除EditText中内容”。下面...

    软键盘挡住EditText完美解决方案

    ### 软键盘挡住EditText完美解决方案 在移动应用开发中,经常会遇到这样一个问题:当用户在界面上点击一个输入框(EditText)时,软键盘弹出后会遮挡该输入框,导致用户无法清晰地看到自己正在输入的内容,极大地...

    安卓recyclerview嵌套editText软键盘遮挡仿IOS处理.rar

    最近项目上遇到 dialog 里recyclerview 嵌套 ...基本上用到了动态改高度,属性动画,edit的 touchListener ,软键盘高度监听 及 开关监听,recycerview 的 item移动处理 等。在此记录下,希望也对你们有所帮助。

    android EditText跟随键盘弹出,背景不会被顶上去

    5. **使用 CoordinatorLayout 和 Behavior**:如果你的布局使用了`CoordinatorLayout`,可以创建一个自定义的`Behavior`,让`EditText`与软键盘的行为进行联动。这种方式在 Material Design 设计中较为常见。 无论...

    Android View 完美实现EditText 在软键盘上边的示例

    Android View 完美实现EditText 在软键盘上边的示例 本篇文章主要介绍了 Android View 完美实现 EditText 在软键盘上边的示例,具有一定的参考价值。这篇文章将详细介绍如何使用 PopupWindow 实现 EditText 在软...

    android edittext不弹出软键盘三种方法

    android edittext不弹出软键盘三种方法“: 方法一: 在AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为adjustUnspecified|stateHidden 例如: android:label="@string/app_name" ...

    Android软键盘手动显示、隐藏、布局上移和EditText上移Demo

    "Android软键盘手动显示、隐藏、布局上移和EditText上移Demo"这个项目主要关注以下几个关键知识点: 1. **软键盘的控制**: - 显示软键盘:可以通过调用`InputMethodManager`的`showSoftInput()`方法来显示软键盘...

    Android EditText被软键盘遮盖的处理方法

    总的来说,处理Android EditText被软键盘遮盖的问题需要对Android系统的键盘行为有深入理解,并结合具体的界面布局和系统特性进行适配。通过监听布局变化和动态调整界面元素的位置,我们可以有效地解决这个问题,...

    Android 实现软键盘与EditText的交互.zip

    在Android开发中,软键盘与EditText的交互是一个常见的需求,特别是在设计输入界面时。这个压缩包文件"Android 实现软键盘与EditText的交互.zip"包含了关于如何处理Android应用中软键盘与EditText之间的交互问题的...

    无软键盘弹出EditText

    总的来说,防止EditText自动弹出软键盘涉及到对Android系统的输入管理机制的理解和巧妙运用。开发者需要在保证功能正常运行的同时,兼顾用户交互的便捷性和舒适性。在实际项目中,可能还需要结合其他UI设计和业务...

    安卓点击空白区域和点击Editext以外的地方隐藏软键盘

    在Android中,软键盘的显示与隐藏通常涉及到两个关键组件:EditText和Activity。EditText是用户输入文字的控件,当其获得焦点时,系统默认会弹出软键盘。而Activity则是应用的容器,它可以监听到整个屏幕的触摸事件...

    Android Dialog与软键盘的正确打开方式

    而软键盘的管理和显示则是移动应用用户体验的关键因素之一。本文将深入探讨如何在Android中正确处理Dialog与软键盘的交互。 首先,让我们了解Android Dialog的基本用法。Dialog是基于Activity的,通常用于显示一些...

    Android 解决软键盘遮挡登陆按钮

    在Android开发中,软键盘遮挡问题是一个常见的用户体验问题,特别是在登录界面这样的场景下,当用户需要输入用户名和密码时,打开的虚拟键盘可能会将底部的“登录”按钮完全或部分遮挡,导致用户无法直接看到并点击...

    android 全屏模式下软键盘软键盘不遮挡edittext的例子

    在Android开发中,全屏模式下遇到的一个常见问题是当用户点击EditText输入时,弹出的软键盘会遮挡住部分或全部界面,导致用户无法看到正在编辑的内容。为了解决这个问题,我们可以采用一些策略来调整布局,确保软...

    解决在在Edittext输入的时候,输入框被软键盘遮挡部分内容的问题

    然而,当用户在EditText中输入时,如果设备的软键盘弹出,有时会遮挡部分屏幕内容,导致用户无法看到或访问被遮挡的区域。这在手机或平板等小屏幕设备上尤为常见,影响了用户体验。为了解决这个问题,开发者需要掌握...

    android edittext 自定义按键盘

    在Android开发中,EditText是用于用户输入文本的基本控件,通常会伴随着系统默认的软键盘弹出,以便用户输入文字。然而,在某些特定场景下,我们可能需要自定义键盘,而不是使用系统的软键盘,比如游戏界面、数字...

    一键删除EditText

    在Android开发中,EditText是用户输入文本的基本组件,它经常...在实际开发中,你可以根据项目需求和团队规范选择合适的方式。记住,良好的用户体验往往体现在这些小细节上,一键删除功能可以显著提高用户的操作效率。

    EditText跟随键盘弹出,背景不动

    当用户点击EditText输入时,系统会自动弹出软键盘。这会影响到Activity的根布局(通常是一个LinearLayout或RelativeLayout),因为键盘的出现占据了屏幕的一部分,导致布局向上移动。然而,背景不动意味着我们希望...

    如何将编辑框EditText置于系统软键盘之上小例子

    在Android应用开发中,经常会遇到一个常见的问题:当用户在EditText控件中输入时,弹出的系统软键盘会遮挡部分屏幕内容,尤其是对于底部的EditText,这可能导致用户无法看到或触及到输入框。本教程将详细介绍如何...

Global site tag (gtag.js) - Google Analytics