软键盘挡住自定义对话框中的内容

在自定义的对话框中有EditText,获取焦点的时候弹出软键盘很可能会挡住对话框中的一些按钮或其他内容。

可以在自定义对话框中的oncreate()方法中设置软键盘的模式,如下

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE |
                WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

当软键盘弹出时,弹出窗口即会随之调整。

以上方法也可用于Activity中,得在setcontentview()方法调用前使用。或者在配置文件的该Activity申明中添加android:softinputmode属性

时间: 2024-08-05 19:31:06

软键盘挡住自定义对话框中的内容的相关文章

Android爬坑之旅:软键盘挡住输入框问题的终极解决方案

前言 开发做得久了,总免不了会遇到各种坑.而在Android开发的路上,『软键盘挡住了输入框』这个坑,可谓是一个旷日持久的巨坑--来来来,我们慢慢看. 入门篇 Base 最基本的情况,如图所示:在页面底部有一个EditText,如果不做任何处理,那么在软键盘弹出的时候,就有可能会挡住EditText.对于这种情况的处理其实很简单,只需要在AndroidManifest文件中对activity设置:android:windowSoftInputMode的值adjustPan或者adjustResi

EditText底部边框被软键盘挡住的问题

最近有同事问我EditText底边被软键盘挡住的问题,主要是EditText布局在屏幕偏下方或底部时,软键盘顶上去后,EditText底边会被挡住一点,从视觉上有强迫症的话比较难接受,只能改!!! 问题原因是:EditText由开发人员给background设置了自定义的shape才导致的,但是shape应用到其它控件上没有问题,看了代码也没什么问题,很纠结! 解决方法:修改shape思路,如下: <?xml version="1.0" encoding="utf-8&

flutter TextField 输入框被软键盘挡住的解决方案

以前搞ionic1~4的开发中 和react-native   flutter中的机制完全不同, 在flutter 中 当前页面如果存在元素被软键盘挡住 的情况 页面元素的最外层肯定得嵌套一层   SingleChildScrollView body: Container( //SingleChildScrollView 的父级元素得有高度 最外层Container默认 填充全部 child: SingleChildScrollView( ........ ) ) SingleChildScro

软键盘挡住输入框的解决方案

大家在布局时候,有时候会发现输入框被挡住一部分,能完全显示出来,但是系统自带短信界面 可以完全漂浮在软键盘之上,看了一下短信源码,修改一下输入模式就可以了,源码如下 代码方式:  getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE |                 WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);   xml方式:

解决 Android 软键盘挡住输入框的问题

当在Android的layout设计里面如果输入框过多,则在输入弹出软键盘的时候,下面的输入框会有一部分被软件盘挡住,从而不能获取焦点输入. 下面提供三种解决办法:    方法一:在你的activity中的对应的java文件中oncreate中setContentView之前写上这个代码getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); 该方法是最简单的    方法二:在 项目的Andro

针对软键盘挡住input输入框的问题

思想是:注册登录的高度自适应,在页面加载完成时,设定页面高度为可视区的高度,在js里检测安卓还是苹果,苹果不用做操作,安卓则隐藏input框上面的logo, //软键盘 $(function(){ //本来body设置100%,防止body变化,设置body高度为可视区域高度: $('body,html').height(window.innerHeight); // 对手机是安卓进行变化 if(browser.versions.android){ $('.inputText').focus(f

手机软键盘挡住了输入框解决方法

$("input").focus(function () { var num = $(this).offset().top; $("html,body").animate({scrollTop: num}, 800); }); //关键代码 $("input").focus(function () { var num = $(this).offset().top; setTimeout(function () { $("body,htm

Android软键盘挡住输入框问题的终极解决方案

普通Activity(不带WebView),直接使用adjustpan或者adjustResize 如果带WebView: a) 如果非全屏模式,可以使用adjustResize b) 如果是全屏模式,则使用AndroidBug5497Workaround进行处理.

调用Android中的软键盘

我们在Android提供的EditText中单击的时候,会自动的弹 出软键盘,其实对于软键盘的控制我们可以通过InputMethodManager这个类来实现.我们需要控制软键盘的方式就是两种一个是像 EditText那样当发生onClick事件的时候出现软键盘,还有就是当打开某个程序的时候自动的弹出软键盘. public class InputMethodManagerTest extends Activity implements OnClickListener{ private Butto