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

好用的免费国内ip代理seo在线教程

好用的免费国内ip代理,seo在线教程,北京注册公司麻烦吗,统计二级域名的网站流量有什么用思路: 要在 Android 应用中全局检测软键盘的弹起,您可以使用 ViewTreeObserver.OnGlobalLayoutListener 监听器来监听布局树的变化。当软键盘弹起或隐藏时,布局树会发生变化,因此您可以在监听器中捕获这些变化。 以下是一个示例…

思路:

要在 Android 应用中全局检测软键盘的弹起,您可以使用 ViewTreeObserver.OnGlobalLayoutListener 监听器来监听布局树的变化。当软键盘弹起或隐藏时,布局树会发生变化,因此您可以在监听器中捕获这些变化。

以下是一个示例,展示如何在全局范围内检测软键盘的弹起:

import android.graphics.Rect;
import android.os.Bundle;
import android.view.View;
import android.view.ViewTreeObserver;
import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity {private View rootView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);rootView = findViewById(R.id.rootView); // Replace with your root layout's ID// Register a global layout listenerrootView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {@Overridepublic void onGlobalLayout() {// Get the height of the visible display areaRect rect = new Rect();rootView.getWindowVisibleDisplayFrame(rect);int screenHeight = rootView.getHeight();int keyboardHeight = screenHeight - rect.bottom;// If the keyboard height is greater than a threshold (e.g., 100 pixels), the keyboard is likely visibleif (keyboardHeight > 100) {// Keyboard is visible, do something} else {// Keyboard is hidden, do something else}}});}
}

在上面的代码中,rootView 是您布局的根视图,您需要将其替换为您实际布局的根视图。addOnGlobalLayoutListener 方法用于注册一个监听器,当布局树发生变化时会调用 onGlobalLayout 方法。

onGlobalLayout 方法中,您可以通过比较屏幕高度和可见区域的底部位置来计算软键盘的高度。根据计算结果,您可以判断软键盘是否可见,并执行相应的操作。

以下是一个在项目中的实际示例,解决无限循环的示例:

private void changerBottomView() {binding.includedNoteMenu.fragmentLl.getViewTreeObserver().addOnGlobalLayoutListener(onGlobalLayoutListener);
}private ViewTreeObserver.OnGlobalLayoutListener onGlobalLayoutListener = new ViewTreeObserver.OnGlobalLayoutListener() {@Overridepublic void onGlobalLayout() {Rect rect = new Rect();//取得 rootView 可视区域binding.includedNoteMenu.fragmentLl.getWindowVisibleDisplayFrame(rect);//取得 rootView 不可视区域高度 (被其他View遮挡的区域高度)int rootInvisibleHeight = binding.includedNoteMenu.fragmentLl.getRootView().getHeight() - rect.bottom;LogUtil.i("shawn","rootInvisibleHeight = " + rootInvisibleHeight);ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams)binding.includedNoteMenu.fragmentLl.getLayoutParams();if (layoutParams.bottomMargin != rootInvisibleHeight + UiUtil.dp2px(10)) {layoutParams.bottomMargin = rootInvisibleHeight + UiUtil.dp2px(10);binding.includedNoteMenu.fragmentLl.setLayoutParams(layoutParams);}}};

日志: 只会多调用一次,在第二次回调时,条件已不满足,不会再调用setLayoutParams

I/shawn: [ main: AddNoteFragment.java:173 onGlobalLayout ] - rootInvisibleHeight = 840
I/shawn: [ main: AddNoteFragment.java:173 onGlobalLayout ] - rootInvisibleHeight = 840
I/shawn: [ main: AddNoteFragment.java:173 onGlobalLayout ] - rootInvisibleHeight = -4
I/shawn: [ main: AddNoteFragment.java:173 onGlobalLayout ] - rootInvisibleHeight = -4

http://www.khdw.cn/news/13360.html

相关文章:

  • cms是网站吗企业培训考试系统
  • 中国设计上海小红书seo
  • 全国思政网站的建设情况前端性能优化有哪些方法
  • 做网站和做商城的区别在哪里2023年东莞疫情最新消息
  • php源码怎么搭建网站免费网站电视剧全免费
  • 哈尔滨网站优化对策网站注册时间查询
  • asp网站会员管理模板网站关键词排名
  • vs做的网站案例网站流量统计分析工具
  • 深圳市专业做网站整合营销是什么
  • 响应式网站制作教程网络推广平台代理
  • 网站建设非功能需求黄页88网站推广方案
  • 蓝海电商平台宁波seo推广定制
  • 重庆网站营销免费自助建站哪个最好
  • sqlite做网站数据库沧州网站建设
  • 装修公司做推广网站怎么弄上海网站建设推广服务
  • 网页制作网站整合与测试it培训学校
  • 阿里买域名 电脑做网站2021百度模拟点击工具
  • 小孩做AV网站seo优化网站的手段
  • 网站需求建设书地推推广平台
  • 画质优化app下载seo优化博客
  • 深圳做网站比较好磁力搜索器下载
  • 天津专业智能建站怎样推广自己的网站
  • 网站营销最大的特点河北网站seo
  • 宁波网站建设ysdsh短视频seo搜索优化
  • 网站专业好找工作吗产品推广计划怎么写
  • 网站建设预期周期收录查询
  • 如何用frontpage2003做网站今日头条极速版官网
  • 郑州做网站九零后网络seo优化与推广招聘
  • 已满18点此自动转我赢网seo优化网站
  • 什么是网站策划书搜索引擎营销的作用