Android编辑框被输入法遮盖,有效的处理办法

出现这个问题, 主要是在4.4之后, 允许使用沉浸式标题栏后, 4.4之前的 或 4.4之后没有使用沉浸式标题栏的 都没问题, 所以, 如果 你的app使用沉浸式标题栏, 并且 需要输入内容, 就可以用这个办法

1.在xml中主体部分的外面加一层ScrollView,就是图中红线圈中的地方

2. 在activity的onCreate中 加入这段代码

if (Build.VERSION.SDK_INT >= 19) {
    final View decorView = getWindow().getDecorView();
    decorView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
        @Override
        public void onGlobalLayout() {
            Rect rect = new Rect();
            decorView.getWindowVisibleDisplayFrame(rect);
            int screenHeight = decorView.getRootView().getHeight();
            int height = screenHeight-rect.bottom;
            LayoutParams layoutParams = scrollView.getLayoutParams();//(LayoutParams是什么类型取决于ScrollView的父级是什么类型)
            layoutParams.setMargins(0,0,0,height);
            scrollView.requestLayout();
        }
    });
}

通常这样就可以了, 但还有一个小问题, 像我上图中 页面的下面 有一个提交的button,这个button并不在scrollview中, 这种情况会造成 实际显示时 输入法的最上边 和 当前输入的编辑框之间有 段 间隔,距离就是这个按钮的距离, 这个距离应该是放这个按钮的, 但 我还不知道怎么能让这个按钮 在 输入时 上去, 就像4.4之前那样

这是xml布局 最上面include的是标题,TextView是提交按钮,下面就是中间的正文 scrollView

我把这个比较笨的方法 写出来, 是因为 我之前在解决这个问题时 百度 google了好久 都没有什么真正的好方案, 我这个方案虽然不是很好,但 至少能先解决问题, 希望能帮助到各位, 如果有更好的解决方法, 请不吝赐教

qq:1075770442

时间: 2024-10-09 09:10:17

Android编辑框被输入法遮盖,有效的处理办法的相关文章

Android 编辑框(EditText)属性学习

EditText的属性很多,这里介绍几个:android:hint="请输入数字!"//设置显示在空间上的提示信息android:numeric="integer"//设置只能输入整数,如果是小数则是:decimalandroid:singleLine="true"//设置单行输入,一旦设置为true,则文字不会自动换行.android:password="true"//设置只能输入密码android:textColor =

Android 编辑框插入表情图片

首先,把整理好的表情图片以及布局用到的一些图片导入到项目的res/drawable目录中. 然后,编辑res/layout目录下布局.xml文件,这里我把oschina客户端的布局代码贴上来,供大家参考: tweet_pub.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/a

Android -- 编辑框更改样式

1. 效果图 2. 实现代码 activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <EditText android:id="@+id/txt

Android有感(18):编辑框EditText

编辑框EditText,继承自TextView,TextView绝大部分方法适用,其用途是接受用户的输入. 通过inputType属性可以指定输入的类型,可接受的参数有许多种: android:inputType="none"--输入普通字符 android:inputType="text"--输入普通字符 android:inputType="textCapCharacters"--输入普通字符 android:inputType="

第6章、编辑框EditText与按钮Button(从零开始学Android)

在一个应用中,登录是经常使用的,下面我们学习一下如何开发一个登录窗口.我们需要学习Android中的基本控件:(1)EditText编辑框.(2)Button按钮. 一.设计登录窗口 打开"res/layout/activity_main.xml"文件. 1.分别从工具栏向activity拖出2个EditText(来自Text Fields).1个按钮(来自Form Widgets). 2.打开activity_main.xml文件. 代码自动生成如下:注意①和②虽同为EditText

Android笔记:TextView和编辑框中添加图片,ImageSpan,SpannableStringBuilder用法

在TextView或者编辑框EditText中添加图片的方法,代码如下: import java.util.regex.Matcher; import java.util.regex.Pattern; import android.os.Bundle; import android.app.Activity; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text

为 Android 平台开发一个输入法

学习目标: 实现新的输入法 学习目的: 掌握Android输入法框架 学习收获: Android 1.5 新特色之一就是输入法框架(Input Method Framework,IMF),正是它的出现,才为诞生不带实体键盘的设备提供了可能.IMF设计用来支持不同的IME,包括了soft keyboard,hand-writing recognizes和hard keyboard translators.这里,我们把焦点锁定在soft keyboard上. 新特色对普通应用开发者而言,应该确保让应

线性布局中按钮在编辑框右边的布局方法

<LinearLayout android:id="@+id/pop_footprint_comment" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true&quo

Android搜索框效果

转载:http://blog.csdn.net/walker02/article/details/7917392 需求:项目中的有关搜索的地方,加上清空文字的功能,目的是为了增加用户体验,使用户删除文本更加快捷 解决过程:开始的时候感觉这个东西不太好实现,主要就是布局的问题,可能是开始顾虑的太多了,再加上当时产品催的不太紧,而且这个功能也不是必须实现的.但是今天不一样了,这个是老大让加上的,说别的很多应用中都有这个功能,没办法那就加上呗,试着去使用了相对布局去实现,把一个删除按键放在编辑框的右上