Android ListView下方放一个EditText,软键盘弹出问题。

布局:
父布局是一个RelativeLayout,最上面是一个顶部标题,中间是一个ListView,
最下面是一个包含EditText的LinearLayout。
大概写法就是
标题android:layout_alignParentTop="true"

包含EditText的LinearLayout android:layout_alignParentBottom="true"

中间的ListView

android:layout_below="标题"

android:layout_above="底部LinearLayout"

这是未点击EditText,软键盘未弹出时的位置
软键盘未弹出

问题:
android:windowSoftInputMode="stateHidden|adjustResize"
android:windowSoftInputMode="stateHidden|adjustPan"

如果将设置为adjustPan,点击EditText软键盘弹出,会以当前EditText的位置为七点

弹出软键盘,软键盘的上方会平齐EditText的底线,但是因为EditText是包含在

LinearLayout里面,所以会覆盖EditText下方属于LinearLayout的一部分布局。

这是属性设为adjustPan时,点击EditText弹出软键盘的布局,没有跳转到ListView的

底部,直接在原始位置弹出软键盘,顶部知道EditText的光标为止,覆盖了LinearLayout的部分布局
adjustPan

如果将设置为adjustResize,点击EditText软键盘弹出,会定位到ListView的最后一个Item,然后向上撑起布局,没有覆盖布局。

这是属性设为adjustResize时的效果,会跳到ListView的最后一个Item,然后从这里将上方所有布局顶起来,但没有覆盖
adjustResize

不知道大家有没有好的建议和经验来解决这个问题,求教。

2个回答

找到问题原因了,是因为我的ListView设置了android:transcriptMode="alwaysScroll"属性,去掉就好了。
android:windowSoftInputMode设置为"stateHidden|adjustUnspecified"其实在我这里adjustUnspecified应该等价于ReSize吧
没做实验验证。恩,总之,谢谢大家了。

qq_37168430
qq_37168430 问题解决了,谢谢啊,但是现在一进入页面他就会主动地把软键盘弹出来,
大约 2 年之前 回复
Earth_Programer
Earth_Programer 我现在的问题是adjustPan会覆盖一小部分布局或者Resize会跳到ListView底部弹出软键盘。这两个能解决一个就OK。
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android设置EditText弹出软键盘
final EditText editText = findViewById(R.id.et); editText.selectAll(); //默认选中EditText中的所有内容 editText.setFocusable(true); //设置可以获取焦点 editText.setFocusableInTouchMode(true); editText.requestFo...
Android editText自动弹出软键盘
new Timer().schedule(new TimerTask() { public void run() { InputMethodManager inputManager = (InputMethodManager) editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
Android Edittext屏蔽软键盘(下方的输入框)
在父控件里加入这两句就行了。 android:focusable="true" android:focusableInTouchMode="true"
android点击EditText软键盘不弹出的问题
今天踩了一个坑,坑是这样的,一个for循环,然后inflate一个布局,把这个布局动态的添加到一个linearlayout,布局代码如下:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:...
Android EditText弹出软键盘挤压屏幕问题
EditText显示软键盘是有时挤压屏幕,导致效果不行 比如,在一个Activity里面嵌套fragment,在Activity中有个需求是需要填写搜索条件,在fragment中展示数据,这时EditText显示软键盘是会挤压屏幕,效果不好看,需要在AndroidMainfest.xml文件中设置 android:windowSoftInputMode="stateUnspecified|adju
popwindow与editText 软键盘弹出问题
popwdindow中editText 默认是不染出软件盘, 想弹出先popWindow.setFocusable(true),然后//弹出软键盘 InputMethodManager imm = (InputMethodManager) view.getContext().getSystemService(Service.INPUT_METHOD_SERVICE);           im
Edittext不弹出软键盘
关于软键盘的关闭和默认关闭有有各种各样的做法 但是很多初学者只希望知道一个简单且有效的方法 那么就用我给出的这一种吧 简单快速高效
无软键盘弹出EditText
android无软键盘弹出的EditText, 获取焦点也不会弹出.
EditText不弹出软键盘
方法一:①int inputType = eidtText.getInputType();//保存当前键盘状态 ②设置editText.setInputType(InputType.TYPE_NULL);//禁用手机软盘 ③editText.setInputType(inputType);//还原输入类型 这种方法会隐藏软盘,但是却会导致光标无法显示,如果要显示光标,那就要使用另一种方法。方法
EditText软键盘的弹出与关闭
一、Activity中软键盘弹出1.在Manifest.xml中相应的Activity标签下加入: //弹出 android:windowSoftInputMode=”stateAlwaysVisible” //隐藏 android:windowSoftInputMode=”stateHidden” 2.让EditText失去焦点即可 edit.clearFocus();
EditText无法弹出软键盘
自定义Dialog AlertDialog dlg = new AlertDialog.Builder(context).create() View view = ((Activity) context).getLayoutInflater().inflate(R.layout.dialog, null); EditText ed = (EditText) view.findView
EditText软键盘弹出相关问题
1.软键盘弹出时窗口控件上移问题 解决办法1: 检查如果有ListView或者ScollView之类的控件,android:scrollbars=“none” 这个属性要去掉 解决办法2: 如果不想去掉android:scrollbars=“none”这个属性 则在Activity的setContentView()方法后面加上一句代码 getWindow().setS
EditText 禁止弹出软键盘
EditText 禁止弹出软键盘 对带有硬键盘android设备开时有时候需要禁止弹出软键盘 public void HideEdInput(EditText editText) { try { Class cls = EditText.class; Method setShowSoftInputOnFocus; setShowSoftInputOnFocu
edittext 软键盘弹出位置
edittext获取焦点是弹出软键盘会把下面的button控件隐藏,导致用户体验不好,有什么办法可以把下面的软件盘弹出的时候把button按钮顶上去,显示在软键盘的上面,让用户可以操作,不会受到软键盘弹出的影响
点击EditText弹出软键盘
写项目时,曾经个需求在点击输入框的时候,弹出软键盘,并且把软键盘右下角变成搜索,点击搜索发送网络请求。 首先在xml布局文件里 添加  android:imeOptions="actionSearch";但是我加了这个属性之后完全没有效果啊,一定要注意 添加这个属性 inputType:“text”否则可能不显示搜索呦。 在Activity里找到EditText的控件。 edit=(E...
关于listView下方软键盘弹出,listView无法压缩显示的问题解决方案
模式一,压缩模式     windowSoftInputMode的值如果设置为adjustResize,那么该Activity主窗口总是被调整大小以便留出软键盘的空间。主窗口布局重新进行measure和layout。大家会发现测量数据会发生变化。  模式二,平移模式     windowSoftInputMode的值如果设置为adjustPan,那么该Activity主窗口并不调整屏幕的大小
Android 点击listView的item弹出软键盘并且EditText获取焦点
//打开软键盘 public static void openKeyBord(EditText editText,Context context){ InputMethodManager imm = context.getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(editText,InputMetho
Android的EditText在怎样获取焦点并弹出软键盘
//让编辑框弹出来,并显示对谁进行评论 commentEditText.setFocusable(true); commentEditText.setFocusableInTouchMode(true); commentEditText.requestFocus(); //打开软键盘 InputMethodManage
Android EditText获取焦点并弹出软键盘
//editText获取焦点 editText.setFocusable(true);editText.setFocusableInTouchMode(true);editText.requestFocus();//弹出软键盘 InputMethodManager inputManager = (InputMethodManager)editText.getContext().getSyste
Android之edittext取消默认弹出软键盘
两种方式设置EditText不弹出软键盘 1.设置焦点在其他控件上: 设置 android:focusable="" android:focusableInTouchMode="" 属性为false 2.设置activity不自动弹出软键盘: 在AndroidManifes
android 中edittext设置不弹出软键盘
需求:android 中edittext设置不弹出软键盘,但是显示光标 做法一: 在清单文件 activity中设置 <activity android:name="XXActivity" android:windowSoftInputMode="stateHidden|stateAlwaysHidden"> ...
android editText自动弹出软键盘(输入键盘)
有一个界面有如下的需求:有一个textview上面显示的是400,我点击之后,弹出对话框,对话框中有一个输入框,将400传递过来也是显示400,当点击了textview,默认全选400,此时也同时有输入法弹出来,这样就是全选,让用户可以使用输入法中的删除键,一下子删除所有的数字,就是400,如何才能一显示对话框的时候,弹出键盘,以便用户删除原来的400,有一个很好的用户体验,其实百度了一下有如下两
Android 如何使Edittext不弹出软键盘
关于启动一个Activity如果里面有一个Edittext控件会自动弹出键盘问题 在AndroidManifest.xml文件所对应的Activity中添加属性:android:windowSoftInputMode="stateHidden"如果想使Edittext不可获取焦点可设置:android:focusable="false"或者是在代码中设置: EditText.setFocusabl
Android Edittext 关掉软键盘自动弹出
  在开发中,遇见了在这样的需求,打开一个页面有一个EditText,进入都还没加载利索就自动打开了软键盘,不能够第一眼看到整个页面的设计,感觉很不友好,需要将软键盘的自动打开关掉。   法1.网上有个教程是让EditText失去焦点,代码如下,反正我试了试,该弹还是弹出来了,没有效果。 EditText edit = (EditText)findViewById(R.id.edit); ed...
[Android] EditText默认不弹出软键盘的方法
在做项目过程中 , 父 Activity 中 用 ViewPager 中 的子 Activity EditText默认弹出软键盘。这是想屏蔽 软键盘 应该从 父 Activity 中处理。
Android EditText不自动弹出软键盘
方法一 在mainfest文件设置activity属性 android:windowSoftInputMode="stateHidden" 方法二 在布局文件中使焦点在其他控件上    android:focusable="true"    android:focusableInTouchMode="true"    android:layout_width="wrap_co
Android禁止EditText自动弹出软键盘的方法
平时开发中经常遇到的很小的问题,这里记录一下。 一般在AndroidManifest.xml中添加了android:windowSoftInputMode="adjustResize"或者adjustPan的话,页面中包含EditText控件进入时会自动弹出软件盘。 1.在包含EditText的父布局中添加android:focusable="true"和android:focusableIn...
Android 设置Edittext获取焦点并弹出软键盘
Android 设置Edittext获取焦点并弹出软键盘editTex.setFocusable(true); editTex.setFocusableInTouchMode(true); editTex.requestFocus(); activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_
android edittext不弹出软键盘三种方法
android edittext不弹出软键盘三种方法“: 方法一: 在AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为adjustUnspecified|stateHidden 例如: <activity android:name=".Main" android:label="@string/app_name" android:windowSoftInputMode="adjustUnspecified|stateHidden" android:configChanges="orientation|keyboardHidden"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
Android EditText获取焦点并弹出软键盘
昨天遇到一个问题,当进入一个 新页面的时候需要淡出软键盘输入,但总不能让用户点一下在显示吧.我也觉得不是什么大问题.但就是弹不出来.所以只能在网上找了 找了各种方法怎么都不行 嗨呀 好气啊 不过功夫不怕有心人 终于解决了 和大家分享一下 <EditText android:layout_width="match_parent" android:layout_heig
android EditText 自动获取焦点并弹出软键盘
话不多说,直接上代码! EditText e; e=(EditText)findViewById(R.id.editText); //获取焦点 e.setFocusable(true); e.setFocusableInTouchMode(true); e.requestFocus(); //打开软键盘 InputMethodManage
android EditText不弹出软键盘的方法
在AndroidManifest.xml设置:   activity               android:name="。。。"               android:windowSoftInputMode="stateHidden|stateAlwaysHidden" >           activity>
Android EditText默认不直接弹出软键盘
Android EditText默认不直接弹出软键盘该博客由两人共同维护, 初衷就是想要把在工作中遇到的弯路尽早的指出来。 把遇到的坑都尽可能的发出来讨论/学习。 我们大家都是【大自然的搬运工】。 我们建立了一个讨论群: 608988861 不介意技术大牛, 初级菜鸟进入, 希望我们能共同努力, 走向学习的道路;如果在界面那种编写了EditText, 那么默认情况下打开该布局时, 将会
Android基础——EditText不弹出软键盘解决办法
在使用到EditText的时候,由于焦点冲突等原因,偶尔会遇到软键盘弹不出的情况,尝试使用以下方法解决一下。 final EditText editText = (EditText) view.findViewById(R.id.et_food_number); editText.selectAll(); //默认选中EditText中的所有内容
android 自动弹出软键盘,EditText自动获取焦点
去掉进入界面EditText自动获取焦点,自动弹出软件盘。              通过在layout 布局的跟节点中添加 android:focusableInTouchMode="true"
android EditText不自动弹出软键盘
当页面有 EditText的时候,Android会自动弹出软键盘,但有些时候这个EditText并不是第一选择,所以不需要弹出软键盘,这个时候就需要我们通过设置不显示软键盘。经历了两次寻找解决方法之后,这次写个博文记下来,免得又忘记,下次还要重新寻找解决方法。 解决方法很简单: 在layout布局文件里,在EditText的父布局中加上以下两个属性就OK了: android:focusa
listview和edittext一起使用时弹出软键盘问题
如果不想在一进界面就弹软键盘,在清单文件AndroidMnanifest文件中对应的activity中设置属性:                                 android:windowSoftInputMode="adjustResize|stateHidden"
ListView里添加EditText导致软键盘弹出闪退问题
EditText弹出软键盘导致View重新生成EditText失去焦点, 在AndroidMainfest.xml 有ListView的Activity里添加属性: android:windowSoftInputMode="adjustPan" 就可以解决这个问题.对于没有滚动控件的Activity这个属性是默认属性,有滚动控件的需要重新设置这个属性。 对于android:window
Android EditText 软键盘和焦点问题
当ListView的布局中包含EditText时,有时候点击EditText进行编辑时会发现,需要点击两次才能获得焦点进行输入。要解决这个问题只需要: 1.在ListView中添加属性android:descendantFocusability="beforeDescendants" 2.在AndroidManifest.xm文件中找到对应的activity中,并且添加属性android:
Android EditText和软键盘绑定的问题
Android 中有很多点击EditText弹出软键盘,并把软键盘的值显示在Editview中,但是这个过程也许会遇到比较坑人的问题。 以下是本人遇到的。 点击人物头像,弹出聊天的popwindow,点击编辑框弹出软键盘,在点击隐藏软键盘,在点击时软键盘不弹出了。根据网上的资料什么isactive()的判断,监听软键盘弹出和隐藏时View的高度几种方法几乎都没用什么效果,那怎么办了,只有霸王硬
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件