Android实现弹出输入法时顶部固定中间部分上移的效果

前言

最近做项目时碰到一个问题,在意见反馈里面,提交按钮写到顶部,当用户输入反馈意见或者邮箱手机号时,弹出的输入法会上移整个页面,导致提交按钮显示不了。

很明显,这样的界面是非常不友好的,找了一些资料无果后,只好自己想办法解决,经过多次尝试后终于实现了想要的效果。特记录在此,希望能帮助需要帮助的人。效果图如下,写的不好勿怪。

效果图

解决思路

使用ScrollView将中间的内容包住,再把ScrollView的滚动条去掉

代码展示

视图文件:

<ScrollView
    android:id="@+id/scrollContent"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fadeScrollbars="true"
    android:fillViewport="true" >
<!-- 中间内容视图代码 -->
</ScrollView> 

Java文件:

去掉ScrollView的滚动条

ScrollView mScrollView = (ScrollView)findViewById(R.id.scrollContent);
mScrollView.setVerticalScrollBarEnabled(false);
mScrollView.setHorizontalScrollBarEnabled(false); 

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!

(0)

相关推荐

  • Android监听输入法弹窗和关闭的实现方法

    用过ios的都知道ios上输入法关闭的同时会自动关闭输入框,那么在android上如何实现监听输入法弹出和关闭呢?本篇文章就为你提供了一种可靠的实现方式. 演示效果视频地址 首先在AndroidManifest中配置 android:windowSoftInputMode="adjustResize" 这样每次输入法弹出和关闭都会重新计算高度实现把布局顶上去的效果 然后我们要自定义一个布局,监听布局大小变化 public class CheckSoftInputLayout exten

  • Android中Activity启动默认不显示输入法解决方法

    checkbox控件时导致Activity启动默认不显示输入法. 网上很多资料说要放一个空的Linearlayout,完全是在误导大众, 正确的方法如下: Android Manifest对Activity做如下设置: 复制代码 代码如下: android:windowSoftInputMode="stateHidden"

  • Android中系统默认输入法设置的方法(输入法的显示和隐藏)

    1.调用显示系统默认的输入法 方法一. InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(m_receiverView(接受软键盘输入的视图(View)),InputMethodManager.SHOW_FORCED(提供当前操作的标记,SHOW_FORCED表示强制显示)); 方法二. InputMethodManager

  • Android程序打开和对输入法的操作(打开/关闭)

    今天整理了一下Android下对输入法的操作:具体如下 一.打开输入法窗口: 复制代码 代码如下: InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); // 接受软键盘输入的编辑文本或其它视图 imm.showSoftInput(submitBt,InputMethodManager.SHOW_FORCED); 二.关闭出入法窗口

  • Android 点击屏幕空白处收起输入法软键盘(手动打开)

    很多时候,我们在使用应用时,会出现输入法软键盘弹出的问题,通常情况下,我们默认会使用户点击返回键或者下一步对软键盘进行隐藏.为了更好的体验,我们可以实现当用户使用完毕软键盘时.点击屏幕空白区域即可实现收起输入法软键盘功能.下面给大家介绍下实现方法. 1.//隐藏软键盘   在Java文件: InputMethodManager m = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE); m .

  • Android的文本和输入之创建输入法教程

    输入法编辑器(IME)是让用户输入文本的控件.Android提供了一个可扩展的的输入法的框架,它允许应用程序给用户提供另外的输入法,如软键盘或语音输入.这些输入法一旦安装,用户就可以从系统的设置中选择他们想要使用的IME,并且这个设置对整个系统都是有效的,每次只有一种输入法是可用的. 要在Android系统中添加一种输入法,你就要创建一个包含继承了InputMethodService类的类应用程序.另外,你通常还要创建一个"settings"Activity,把选项传递给IME服务.你

  • Android InputMethodManager输入法简介

    一.结构 public final class InputMethodManager extends Object Java.lang.Object android.view.inputmethod.InputMethodManager 二.类概述 整个输入法框架(IMF)结构的核心API,应用程序之间进行调度和当前输入法交互.你可以用Context.getSystemService()取得这一接口的实例. 架构总述(Architecture Overview) 输入法框架(IMF)共有三个主要

  • Android自定义View接收输入法输入的内容

    前言 可能对于很多新人来讲,看到这个题目,想到的能接收输入法输入的内容大概只有EditText和TextView这两个控件了,其实不然,只要是View的子类,都可以接收输入法输入的内容. 现在我们一步一步来实现,第一步我们得有一个View的子类. 实现方法 //首先我们得重写View中的一个方法,返回true,就是让这个View变成文本可编辑的状态,默认返回false. @Override public boolean onCheckIsTextEditor() { return true; }

  • Android 显示和隐藏输入法实现代码

    复制代码 代码如下: // 隐藏输入法 InputMethodManager imm = (InputMethodManager) getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE); // 显示或者隐藏输入法 imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); toggleSoftInput 这个方法可以转换软件输入法在窗体中的显示状态.

  • Android输入法弹出时覆盖输入框问题的解决方法

    当一个activity中含有输入框时,我们点击输入框,会弹出输入法界面,整个界面的变化效果与manifest中对应设置的android:windowSoftInputMode属性有关,一般可以设置的值如下, <activity android:windowSoftInputMode=[ "stateUnspecified", "stateUnchanged", "stateHidden", "stateAlwaysHidden&q

随机推荐