输入框单独被软键盘弹起的解决方案

1、重新开一个Activity

重新开一个透明的activity<style name="TransparentTheme" parent="AppBaseTheme">

        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowBackground">@color/com_transparent</item>
        <item name="android:windowAnimationStyle">@style/AnimationShareActivity</item>
        <item name="android:windowIsTranslucent">true</item>
    </style>

<activity
  android:name="com.joyodream.pingo.topic.post.ui.JigsawInputEditActivity"
  android:label="@string/app_name"
  android:theme="@style/TransparentTheme"
  android:screenOrientation="portrait"
  android:windowSoftInputMode="stateAlwaysVisible|adjustResize"
  >
</activity>

2、使用全屏的Dialog

使用透明、全屏、无标题的Dialog,自定义的View<style name="input_dialog" parent="@android:style/Theme.Dialog">
        <!-- 边框 -->
        <item name="android:windowFrame">@null</item>
        <!-- 半透明 -->
        <item name="android:windowIsTranslucent">false</item>
        <!-- 无标题 -->
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <!-- 模糊 -->
        <item name="android:backgroundDimEnabled">true</item>
        <!-- 占全屏 -->
        <item name="android:windowFullscreen">true</item>
    </style>

另外可以使用paddingBottom 和背景分离的方案,让 输入框完美弹起
时间: 2024-10-10 15:40:06

输入框单独被软键盘弹起的解决方案的相关文章

android全屏下的输入框未跟随软键盘弹起问题

最近开发中遇到,全屏模式下输入框在底部不会跟随软键盘弹起.于是网上搜索了解决的方案.大致找到了两种方案. 第一种 定义好此类 public class SoftKeyBoardListener { private View rootView;//activity的根视图 int rootViewVisibleHeight;//纪录根视图的显示高度 private OnSoftKeyBoardChangeListener onSoftKeyBoardChangeListener; public S

Android之监听手机软键盘弹起与关闭

背景: 在很多App开发过程中需要在Activity中监听Android设备的软键盘弹起与关闭,但是Android似乎没有提供相关的的监听API给我们来调用,本文提供了一个可行的办法来监听软键盘的弹起与关闭. 预备知识: 在manifest文件中可以设置Activity的android:windowSoftInputMode属性,这个属性值常见的设置如下: android:windowSoftInputMode="stateAlwaysHidden|adjustPan" 那么这里值的含

EditText 默认不获取焦点,弹出软键盘布局变形解决方案

关于弹出软键盘布局变形解决方案: 在androidMainfest.xml文件中在此Activity中写入 android:windowSoftInputMode="adjustPan" 在实际开发中,有的页面用到Edittext控件,这时候进入该页面可能会自动弹出输入法 这么显示不太友好,所以需要设置一下让Edittext默认不自动获取焦点.在网上查资料解决办法如下: 在EditText的父级控件中找一个,设置成 android:focusable="true"

软键盘弹起,导致底部被顶上去

计算出可视界面的高度,当软键盘弹起时让底部元素隐藏掉, 当键盘收起时再让它显示,实在没办法时这种方法也不失为一种方法 var h=document.documentElement.clientHeight; $(window).resize(function(){ let height=document.documentElement.clientHeight; if(h==height){ $('.bottom').css('display','block'); }else{ $('.bott

mui防止软键盘弹起方法

解决前 解决后 <!--防止软键盘调起时,底部内容随之挤上来--> <script type="text/javascript"> //获取原始窗口的高度 var originalHeight = document.documentElement.clientHeight || document.body.clientHeight; window.onresize = function() { //软键盘弹起与隐藏 都会引起窗口的高度发生变化 var resiz

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

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

Swift开发教程--UITextField输入框如何隐藏软键盘

对于UITextField如何隐藏输入框,一直是初学者常遇到的问题. 在View试图中,点击选中UITextField控件,为其添加Did End On Exit实践.在事件中添加 sheShiTextField.resignFirstResponder()就可以了.在弹出软键盘之后,点击return就可以 隐藏软键盘了.

解决微信H5页面软键盘弹起后页面下方留白的问题(iOS端)

前言:微信H5项目,ios端出现了软键盘输完隐藏后页面不会回弹,下方会有一大块留白 最近微信和ios都有版本升级,不知道是哪边升级造成的,但是经过测试,软键盘收起后,再滚动一下页面,下面的留白就会消失.所以只要在输入完毕后模拟一下这个"滚动"的操作,就能解决问题了. 如果是用vue写的: <input type="text" @blur="fixScroll" placeholder="请输入xxx"/> //me

ios上有时候提交按钮点击两次才可以取消输入框软键盘

ios上有时候提交按钮点击两次才可以取消输入框软键盘,点击第一次软键盘消失,点击第二次输入框页面消失,这样用户体验不好.我的做法是用 touchstart 代替click来处理 反应快,但是有时候会出现 输入框消失后 软键盘又弹出来了,得手动关闭软键盘才可以,这个时候给输入框一个主动取消焦点的事件就可以解决 $("..").blur();