需求:

  • 界面背景沉浸
  • 键盘弹起输入框不会被遮挡
  • 键盘弹起背景不动

效果图如下:

界面布局文件:(在需要被顶起的布局上添加android:fitsSystemWindows="true"属性,如下方LinearLayout)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/fl_container"android:layout_width="match_parent"android:layout_height="match_parent"><ImageViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:background="@mipmap/bg" /><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_marginLeft="12dp"android:layout_marginRight="12dp"android:layout_marginBottom="20dp"android:fitsSystemWindows="true"android:orientation="vertical"><EditTextandroid:id="@+id/editText1"android:layout_width="match_parent"android:layout_height="48dp"android:background="@null"android:hint="请输入账号"android:paddingLeft="8dp"android:textColor="@android:color/white"android:textColorHint="@android:color/white"android:textSize="18sp" /><Viewandroid:layout_width="match_parent"android:layout_height="2dp"android:background="@color/colorAccent" /><EditTextandroid:layout_width="match_parent"android:layout_height="48dp"android:layout_marginTop="12dp"android:background="@null"android:hint="请输入密码"android:paddingLeft="8dp"android:textColor="@android:color/white"android:textColorHint="@android:color/white"android:textSize="18sp" /><Viewandroid:layout_width="match_parent"android:layout_height="2dp"android:background="@color/colorAccent" /><Buttonandroid:layout_width="match_parent"android:layout_height="48dp"android:layout_marginTop="20dp"android:background="@android:color/white"android:text="登录"android:textSize="18sp" /></LinearLayout></RelativeLayout>

清单文件配置:(android:windowSoftInputMode=“adjustResize|stateAlwaysHidden”)

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.keyboard"><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/AppTheme"><activityandroid:name=".MainActivity"android:windowSoftInputMode="adjustResize|stateAlwaysHidden"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

界面Activity代码:

package com.example.keyboard;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import com.gyf.immersionbar.ImmersionBar;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//沉浸ImmersionBar.with(this).init();}
}

build.gradle依赖:(添加了immersionbar做沉浸式)

    implementation 'com.gyf.immersionbar:immersionbar:3.0.0'

隐藏问题(不影响使用):
为了演示这个问题,将布局中margin都去除,对LinearLayout及子控件添加不同颜色;会发现在添加android:fitsSystemWindows属性的LinearLayout上面多出来一个statusbar这么一个高度的间隙,目前没有找到去除的办法,不过影响使用,因为需要顶起来的布局上方没有其他控件;即使edittext上面需要添加其他控件,可以将其添加到这个LinearLayout里面就可以了;

其他方案尝试:
在解决adjustResize和全屏沉浸方式冲突时候使用了参考连接中的AndroidBug5497Workaround方式,发现当键盘弹出时,键盘上方会多出来一个statusbar这么一个高度的空白位置;真是拔出萝卜带出泥啊,没有找到合适的解决办法,所以AndroidBug5497Workaround方式放弃了;

其他app登录界面设计:

  • 一种类型是用户只有登录才能进入到首页进行使用的,这种app一般支持多种登录方式,所以登录界面没有输入框,只是不同种类登录方式的跳转按钮,所以就不会出现全屏+沉浸+键盘+输入框不被遮挡+背景不被压缩等问题

如:小红书

  • 另外一种类型是进入app可以直接使用,只有当用户需要发布信息或者主动点击我的进入登录界面才会进入登录界面;这样进入的登录界面一般不会有背景图,因为到了这个界面,设计上无再需要使用背景图给用户传递一些什么信息;
    如:抖音

    综上所述,所以遇到当前文章这种设计的情况并不多,即使遇到也可以按照上方步骤进行解决;仅此记录,如有问题还请留言指正,谢谢

参考连接
1.Android 输入法框弹出 背景上移或压缩问题
2.解决全屏Activity的键盘遮挡输入框,Fullscreen遮挡Edittext,全屏输入框bug,AndroidBug5497Workaround,沉浸式输入框
3.Android adjustresize全屏无效问题
4.android实现软键盘弹出,editText随键盘上移,背景不动

登录界面全屏+背景图片沉浸式+键盘将输入框顶起来+键盘弹起背景不会被弹起或者压缩相关推荐

  1. (六)图像背景移除/去背景/换背景/抠图/抠像代码示例:AI实时抠图、AI实时抠像、PaddlePaddle模型、虚拟现实视频会议、沉浸式会议场景、人像去背景、视频背景消除、摄像头背景移除

    (六)图像背景移除/去背景/换背景/抠图/抠像代码示例:AI实时抠图.AI实时抠像.PaddlePaddle模型.虚拟现实视频会议.沉浸式会议场景.人像去背景.视频背景消除.摄像头背景移除 本文与前几 ...

  2. 网页前端代码存档 - 【第三期】全屏banner图片切换特效详解

    十一长假plus已经结束  ,上班的第一周,大家都是什么心情呢,是不是还没有从放假的状态转换过来呢,需要调整一段时间 记得放假的时候,不知不觉就过去4天,当时感叹,哇靠,一下子就过去一半了啊,只能安慰 ...

  3. Y460 安装ubuntu 12.04系统黑屏,登录界面黑屏

    ubuntu 12.04系统黑屏,登录界面黑屏,但是命令行界面可以登录,也可以正常使用,当时在装CVS,装完重启就这样了,可能是因为前一天装更新时,突然断电导致图形界面损坏,参考他人方法,终于修复,总 ...

  4. 如何给屏幕设置一个充满全屏的图片

    如何给屏幕设置一个充满全屏的图片 html{ width:100%; height:100%; overflow:hidden; } body{ background:url("bg_1.p ...

  5. linux qt应用程序全屏,QT在ubuntu下实现界面全屏,侧边栏隐藏,上边栏隐藏【实例】...

    最近做一个Qt项目(ubuntu 14.04),需要将界面全屏,全屏之后,ubuntu侧边栏隐藏,上边栏也隐藏,只显示Qt的界面. 那么先介绍几个函数: Qt全屏显示函数:showFullScreen ...

  6. jQuery弹出层登录和全屏注册表单

    jQuery弹出层登录和全屏注册表单,这是一款很漂亮的jQuery登录和注册表单,点击登录时弹出一个登录窗口并伴随动画效果,注册页面则是全屏显示,非常时尚的jQuery表单. 代码: <!DOC ...

  7. Android 12.0关机界面全屏显示(UI全屏显示)

    1.概述 在12.0的系统定制化开发中,原生系统关机界面 UI是靠右边显示的,但是客户需求要求全屏显示 重启和关机功能键居中显示,所以就涉及到调整UI 然后全屏显示,需要实现窗口的全局布局实现全屏功能 ...

  8. NC6自助开发文件存放路径及一些总结以及修改自助登录界面的样式、图片、添加文字提示等文件

    NC6自助开发文件存放路径:\nchome\hotwebs\portal\sync NC6自助开发总结:https://download.csdn.net/download/u010741112/24 ...

  9. win7 域环境客户端启动后进入登录界面黑屏

    win7 域环境客户端启动后进入登录界面黑屏,屏幕显示鼠标问题,按CTRL+ALT+DEL没有任何反应. 1.进入安全模式正常,安全模式下修改注册表, HKEY_Local_Machine\Softw ...

最新文章

  1. 世界顶尖精密仪器技术都掌握在哪些国家?
  2. 根据坐标点鼠标 不移动_CAD移动鼠标时,鼠标右下角有坐标提示,怎么取消?...
  3. YII 增加登陆认证
  4. visual设计的界面发布到iis上显示不一样_享声 SOUNDAWARE 发布可“全民HIFI“的网播一体机 A1...
  5. 宝宝的成长脚印8/27
  6. vecm模型怎么写系数_时变秩和时变系数VECM模型与“费雪效应”机制检验
  7. Firefox火狐浏览器打开网页京东 http://www.jd.com/?l=1err=3 报错
  8. 使用深度学习自动给图片生成文字描述
  9. java计算机毕业设计家教到家平台源码+mysql数据库+系统+lw文档+部署
  10. 如何做一个炫酷的墨水屏电子钟?
  11. iPhone之手势切换图片
  12. JAVA应该怎么学?
  13. 第八章 组织结构设计与类型
  14. MySQL的启动、停止、重启
  15. 华为面向5G的室内覆盖数字化灵活容量升级
  16. 基于PanoSim仿真开发平台BSD和RCTA的构思
  17. Ajax跨域请求保证同一个session的问题
  18. 91,bigmeap 功能对比
  19. wltp和nedc续航差多少_WLTP续航和NEDC续航差别有多少?
  20. picpick尺子像素大小精度不够准确_关于图片尺寸、输出尺寸和分辨率之间的关系,你真的理解吗?...

热门文章

  1. 牛客网_判断推理选择题
  2. 华为花瓣搜索的新解读:让开发者透过垂直生态,掘金全球
  3. DaVinci_Resolve_Studio_18.1.1达芬奇图文安装教程及下载
  4. 【Java】 java上传文件跟批量下载文件
  5. 用php+mysql+ajax实现淘宝客服或阿里旺旺聊天功能 之 后台页面
  6. 低压铸造,生产周期减少16秒是如何做到的?
  7. [转帖]影驰首发PCIe 4.0 SSD:群联AMD合作主控飚出5GB/s
  8. 水质自动监测系统的组成
  9. 简单分形(谢尔宾斯基三角形和地毯)
  10. [Android开发练习1] 绘制国旗