当前位置: 首页 > news >正文

自适应键盘高度

自适应系统键盘

  • 背景
  • 代码
  • demo

背景

键盘高度无法获取,倒是输入框抖动问题

代码

设置
android:windowSoftInputMode=“adjustNothing”

public class KeyBoardHelper {private static final String TAG = "KeyBoardHeightHelper";private PopupWindow popwindow;private int start;private static int keyBoardHeight;public void listenKeyBoard(View view, OnMeasureCompleteListener onMeasureCompleteListener) {Log.i(TAG, "showMeasureWindow");view.post(new Runnable() {@Overridepublic void run() {popwindow = new PopupWindow();FrameLayout contentView = new MeasureLayout(view.getContext(), new MeasureLayout.onHeightChangedListener() {@Overridepublic void onHeightChanged(int height) {Log.i("qinxue","onHeightChanged height: "+height);if (start == 0) {start = height;} else if (height < start) {keyBoardHeight = start - height;if (onMeasureCompleteListener != null) {onMeasureCompleteListener.onKeyBoardShow(keyBoardHeight);}} else {if (onMeasureCompleteListener != null) {onMeasureCompleteListener.onKeyBoardHide();}}}});popwindow.setContentView(contentView);popwindow.setWidth(0);popwindow.setHeight(WindowManager.LayoutParams.MATCH_PARENT);popwindow.setBackgroundDrawable(new ColorDrawable(Color.RED));popwindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);popwindow.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);popwindow.showAtLocation(view.getRootView(), Gravity.NO_GRAVITY, 0, 0);}});}public static int getKeyBoardHeight() {return keyBoardHeight;}public interface OnMeasureCompleteListener {void onKeyBoardShow(int keyBoardHeight);void onKeyBoardHide();}
}

demo

相关文章:

自适应键盘高度

自适应系统键盘 背景代码demo 背景 键盘高度无法获取&#xff0c;倒是输入框抖动问题 代码 设置 android:windowSoftInputMode“adjustNothing” public class KeyBoardHelper {private static final String TAG "KeyBoardHeightHelper";private PopupWindow po…...

【JavaEE】计算机是如何工作的

计算机是如何工作的 冯诺依曼体系操作系统操作系统的概念与定位进程和任务操作系统对进程的管理PCB 的相关信息 冯诺依曼体系 现代的大多数计算机, 都遵循冯诺依曼体系 CPU 中央处理器: 进行算术运算和逻辑判断存储器: 分为外存和内存, 用于存储数据(使用二进制方式存储)输入…...

12JVM基础

五、JVM 17、JVM基础 说一下堆栈的区别&#xff1f; 功能方面&#xff1a;堆是用来存放对象的&#xff0c;栈是用来执行程序的。 共享性&#xff1a;堆是线程共享的&#xff0c;栈是线程私有的。 空间大小&#xff1a;堆大小远远大于栈。队列和栈是什么&#xff1f;有什么区别…...

07 创建型模式-单例模式

1.单例模式介绍 单例模式&#xff08;Singleton Pattern&#xff09;是 Java 中最简单的设计模式之一&#xff0c;此模式保证 某个类在运行期间&#xff0c;只有一个实例对外提供服务&#xff0c;而这个类被称为单例类。 2.使用单例模式要做的两件事 保证一个类只有一个实例…...

RunnerGo 支持UI自动化的测试平台

RunnerGo提供从API管理到API性能再到可视化的API自动化、UI自动化测试功能模块&#xff0c;覆盖了整个产品测试周期。 RunnerGo UI自动化基于Selenium浏览器自动化方案构建&#xff0c;内嵌高度可复用的测试脚本&#xff0c;测试团队无需复杂的代码编写即可开展低代码的自动化…...

LLM ReAct: 将推理和行为相结合的通用范式 学习记录

LLM ReAct 什么是ReAct? LLM ReAct 是一种将推理和行为相结合的通用范式,可以让大型语言模型(LLM)根据逻辑推理(Reason),构建完整系列行动(Act),从而达成期望目标。LLM ReAct 可以应用于多种语言和决策任务,例如问答、事实验证、交互式决策等,提高了 LLM 的效率、…...

聊聊分布式架构08——SpringBoot开启微服务时代

目录 微服务架构时代 快速入门 入门详解 SpringBoot的自动配置 石器时代&#xff1a;XML配置bean 青铜时代&#xff1a;SpringConfig 铁器时代&#xff1a;AutoConfigurationImportSelector 手写简单Starter SpringApplication启动原理 微服务架构时代 Spring Boot的…...

Vue项目中集成TinyMCE富文本编辑器(图片批量上传等)

TinyMCE富文本在Vue中的使用 关于TinyMCE 实现效果 安装使用TinyMCE 第一步 第二步 1.官网申请Your Tiny API Key&#xff0c;并且配置访问域名&#xff1a; 2.使用css隐藏(这个就不讲了&#xff0c;不推荐使用) 3.全部由本地加载(推荐) 第三步(汉化包) 第四步(封装组…...

前端数据可视化之【title、legend、tooltip、toolbox 】配置项

目录 &#x1f31f;Echarts配置项&#x1f31f;Echarts配置项之 title组件&#x1f31f;Echarts配置项之 legend组件&#x1f31f;Echarts配置项之 tooltip组件&#x1f31f;Echarts配置项之 toolbox组件&#x1f31f;写在最后 &#x1f31f;Echarts配置项 ECharts开源来自百度…...

microcom串口调试工具使用

microcom串口助手使用介绍 microcom是一个在终端中使用的串口助手&#xff0c;类似平常使用SSCOM一样的东西&#xff0c;不过是在终端中使用而已。 使用的是busybox构建的文件系统 microcom源码路径&#xff1a;busybox/miscutils/microcom.c microcom 参数&#xff1a; [r…...

深入了解Golang:基本语法与核心特性解析

1. 引言 Golang&#xff08;Go&#xff09;是谷歌开发的一门开源编程语言&#xff0c;于2007年首次公开亮相&#xff0c;随后在2012年正式发布。Golang以其简洁、高效和可靠的设计而备受开发者青睐。作为一门编译型语言&#xff0c;Golang具有静态类型和垃圾回收功能&#xff…...

短视频矩阵系统源码---php搭建

一、智能剪辑、矩阵分发、无人直播、爆款文案于一体独立应用开发 抖去推----主要针对本地生活的----移动端(小程序软件系统&#xff0c;目前是全国源头独立开发)&#xff0c;开发功能大拆解分享&#xff0c;功能大拆解&#xff1a; &#xff08;1&#xff09;数据概览&#x…...

mysql 查询表字段名,注释 , 以及sql拼接查询出的内容

#sql查询字段名&#xff0c;注释操作拼接 #查询字段名和注释 select COLUMN_NAME,COLUMN_COMMENT from information_schema.COLUMNS where table_name 表名 and table_schema 库名 order by ordinal_position #查询整个内容 select * from information_schema.COLUMNS wh…...

【JavaEE】_Servlet API

目录 1. HttpServlet 1.1 init方法 1.2 destroy方法 1.3 service方法 1.4 Servlet的生命周期 1.5 代码示例 1.5.1 使用postman构造请求 1.5.2 使用ajax构造请求 2. HttpServletRequest 2.1 核心方法 2.2 代码示例1&#xff1a;打印请求信息 3. 前端给后端传参 3.1…...

macOS下matplotlib如何显示中文字体?

一般要显示中文会使用&#xff1a; plt.rcParams[font.sans-serif][SimHei] #用来正常显示中文标签 plt.rcParams[axes.unicode_minus]False #用来正常显示负号不过在macOS下通常会显示方块字&#xff1a; 解决方案&#xff1a; 把上面两句注释掉&#xff0c;更换为&#xf…...

7-Zip怎么设置字典大小 单词大小 固实数据大小,把大文件9.35G压缩成小1.56G

环境: Win10 专业版 7-Zip v23.01 问题描述: 7-Zip怎么设置字典大小 单词大小 固实数据大小,把大文件9.28G压缩成小1.56G 解决方案: 要在7-Zip中设置字典大小、单词大小和固实数据大小,可以按照以下步骤进行操作: 打开7-Zip文件管理器,并导航到你要压缩的文件所在的…...

使用CPR库和Python编写程序

以下是一个使用CPR库和Python编写的爬虫程序&#xff0c;用于爬取。此程序使用了proxy的代码。 import requests from cpr import CPR ​ def get_proxy():url "https://www.duoip.cn/get_proxy"headers {"User-Agent": "Mozilla/5.0 (Windows NT …...

axios 请求的缓存封装

前言 咱们的网站或者程序&#xff0c;每一个页面和操作都需要请求后端接口来获取响应和渲染页面&#xff0c;抛开post请求方式的接口不说&#xff0c;部分get请求得到的数据&#xff0c;短时间内不会更新&#xff0c;或者短时间得到的响应数据不会变化&#xff0c;这个时候就可…...

Oracle性能调优实践中的几点心得

很多的时侯&#xff0c;做OracleDBA的我们&#xff0c;当应用管理员向我们通告现在应用很慢、数据库很慢的时侯&#xff0c;我们到数据库时做几个示例的Select也发现同样的问题时&#xff0c;有些时侯我们会无从下手&#xff0c;因为我们认为数据库的各种命种率都是满足Oracle文…...

勒索病毒最新变种.halo勒索病毒来袭,如何恢复受感染的数据?

引言&#xff1a; 在当今数字化时代&#xff0c;勒索病毒的威胁不断升级&#xff0c;其中.halo勒索病毒引起了广泛关注。本文91数据恢复将深入研究.halo勒索病毒的特点&#xff0c;探讨如何有效地恢复被其加密的数据文件&#xff0c;并分享预防这一威胁的关键措施。 .halo勒索…...

从理论到实践:InfoGAN如何通过互信息解锁可控生成

1. 互信息&#xff1a;从信息论到生成模型的控制密码 我第一次接触互信息这个概念时&#xff0c;脑海里浮现的是小时候玩的"传话游戏"。一群人排成一列&#xff0c;第一个人悄悄说一句话&#xff0c;依次传到最后一个人时&#xff0c;原话往往已经面目全非。互信息就…...

Kohya_SS稳定扩散训练器:5个步骤掌握AI模型个性化训练

Kohya_SS稳定扩散训练器&#xff1a;5个步骤掌握AI模型个性化训练 【免费下载链接】kohya_ss 项目地址: https://gitcode.com/GitHub_Trending/ko/kohya_ss Kohya_SS是一款功能强大的稳定扩散模型训练工具&#xff0c;专为AI艺术创作者和开发者设计&#xff0c;提供了从…...

手撕代码1——力扣1

两数之和 https://leetcode.cn/problems/two-sum/description/ 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案&#xff0c;并且…...

AgentCode 深度技术解析:极简架构下的 AI 编程代理设计哲学

AgentCode 深度技术解析&#xff1a;极简架构下的 AI 编程代理设计哲学 一、架构设计&#xff1a;为什么"极简"反而更强大&#xff1f; 1.1 核心架构概览 AgentCode 采用经典的 ReAct&#xff08;Reasoning Acting&#xff09;范式&#xff0c;但做了关键的工程化…...

别再手动翻了!用Notepad++正则表达式,5分钟搞定同时包含两个关键词的日志行

高效日志分析&#xff1a;Notepad正则表达式双关键词精准匹配实战 日志文件是系统运行状态的忠实记录者&#xff0c;但面对动辄几个GB的日志文件&#xff0c;如何快速定位关键信息成为每个开发运维人员的必修课。上周排查一个线上故障时&#xff0c;我需要在3GB的Nginx日志中找…...

终极指南:如何在5分钟内为游戏添加免费CRT复古效果

终极指南&#xff1a;如何在5分钟内为游戏添加免费CRT复古效果 【免费下载链接】crt-royale-reshade A port of crt-royale from libretro to ReShade 项目地址: https://gitcode.com/gh_mirrors/cr/crt-royale-reshade 想在现代游戏中体验经典CRT显示器的怀旧魅力吗&am…...

别再手动巡检了!用Prometheus+vmware_exporter自动监控你的VMware vSphere集群(附K8s/Docker两种部署)

从人工巡检到智能告警&#xff1a;构建VMware vSphere全栈监控体系的实战指南 凌晨三点&#xff0c;刺耳的电话铃声划破夜空——某台关键业务虚拟机CPU负载飙升至98%&#xff0c;而值班工程师手忙脚乱地远程连接、收集日志、排查问题。这样的场景在传统运维模式下每周都会上演&…...

Chandra镜像惊艳效果展示:gemma:2b生成符合PMP/软考大纲的技术项目管理文案

Chandra镜像惊艳效果展示&#xff1a;gemma:2b生成符合PMP/软考大纲的技术项目管理文案 1. 这不是普通聊天&#xff0c;是懂项目的AI助手 你有没有遇到过这样的场景&#xff1a; 准备软考高项论文&#xff0c;对着空白文档发呆两小时&#xff0c;连第一段都写不出来&#xf…...

超越Arduino_GFX:在ESP-IDF中用面向对象思想重构ST7701S SPI驱动

超越Arduino_GFX&#xff1a;在ESP-IDF中用面向对象思想重构ST7701S SPI驱动 当你在ESP32平台上驱动一块ST7701S RGB屏幕时&#xff0c;是否曾为代码的混乱和难以维护而头疼&#xff1f;传统的驱动实现往往将SPI配置、屏幕初始化、图形库耦合在一起&#xff0c;导致代码难以复用…...

Hotkey Detective:深入解析Windows热键冲突检测的技术实现与实战应用

Hotkey Detective&#xff1a;深入解析Windows热键冲突检测的技术实现与实战应用 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective…...