首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

getWindowVisibleDisplayFrame()在Android 2.2,2.3中给出了不同的值(但不是2.3.3)

首先,了解Android窗口机制,在Android 2.2和2.3中,getWindowVisibleDisplayFrame()返回的值是不同的。在Android 2.2中,该方法返回的是Rect对象,而到了Android 2.3,返回的则是int[]数组。因此,在Android 2.2和2.3中,getWindowVisibleDisplayFrame()给出的值是不同的。

对于Android 2.2,可以使用以下代码来获取窗口可见的坐标范围:

代码语言:txt
复制
Rect rect = new Rect();
// 获取窗口的可见区域
getWindowVisibleDisplayFrame(rect);

对于Android 2.3,由于返回的是int[]数组,因此需要使用以下代码来获取窗口可见的坐标范围:

代码语言:txt
复制
int[] rect = new int[2];
// 获取窗口的可见区域
getWindowVisibleDisplayFrame(rect);

需要注意的是,在Android 2.3中,getWindowVisibleDisplayFrame()给出的值是窗口的可见坐标范围,而不是窗口的大小。因此,在获取窗口大小的时候,需要使用getWindowSize()方法来获取。

总之,在Android 2.2和2.3中,getWindowVisibleDisplayFrame()给出的值是不同的,需要根据具体版本来获取窗口可见的坐标范围。

相关搜索:在React中返回相同的组件但值不同在Android Studio中,java文件显示不同的图标,但出现错误R函数在相同的表和列中查找值,但值不同在Python中组合2个键相同但值不同的字典在Android Studio中显示string资源ID,而不是string的值相同字符串的哈希值在Android和Javascript中不同获取数组值并根据其自己的列进行存储,但值存储在不同的列中SQL在Microsoft SQL中合并ID相同但列值不同的两行有没有办法在Kotlin的list中合并不同(但相似)对象的值?不同的变量,而不是主轴变量在ggplot中的次轴上的变换值使用asp.net显示值在不同表中的GridView中的名称而不是Id赋值给包装在观察表达式中的对象的值在传入或传出IF时会给出不同的值在RxJS中组合不同类型的观察值,但仅发出来自其中之一的值Pandas:如何仅选择在一列中具有相同键但值不同的重复行合并行,其中一列具有相同的值,但其他列在R中不同我尝试在nodejs中自己验证JWT签名,以了解JWT的内部工作原理,但解密后的签名给出了错误的值在visual basic中从数组中获取不同的值(作为字符串而不是List或ArrayList)。在android中添加来自两个不同活动的两个双精度值在使用setInterval的Javascript代码中,为什么每次n都不是一个不同的值?获取选择输入选项的数据帧的唯一值,但仅当数据帧是在server.ui中定义而不是全局定义时
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android爬坑之旅:软键盘挡住输入框问题终极解决方案

对于这种情况处理其实很简单,只需要在AndroidManifest文件对activity设置:android:windowSoftInputModeadjustPan或者adjustResize...情况描述 这时候,情况就会变得复杂了: 首先,页面是非全屏模式情况下,activity设置adjustPan会失效。...那么躲坑姿势就很简单了—— 如果activity中有WebView,就不要使用全屏模式,并且把它windowSoftInputMode设为adjustResize就好了嘛 怎么样,是不是很简单?...(0); 其中,第一行android.R.id.content所指View,是Android所有Activity界面上开发者所能控制区域根View。...3.界面变化之后,获取"可用高度" 当软键盘弹出了之后,接下来事情是获取改变之后界面的可用高度(可以被开发者用以显示内容高度)。

4.6K20
  • Android监听键盘状态获取键盘高度实现方法

    OnGlobalLayoutListener是ViewTreeObserver定义众多接口中一个,它用来监听一个视图树全局布局改变或者视图树某个视图可视状态改变。...OnGlobalLayoutListener,执行相应回调方法,将全局布局改变消息通知每个注册监听者。...主要代码还是onGlobalLayout: 首先通过activityRootView.getWindowVisibleDisplayFrame(r)检索此视图所附加窗口所在整个可见显示大小 ,然后减去...至此,我们得到了剩余高度 . 这个高度可能就是键盘高度了, 为什么说可能呢?因为还么有考虑到顶部状态栏和底部虚拟导航栏. 当然也可能不是键盘....onSoftKeyboardOpened和onSoftKeyboardClosed这两个回调, 处理自己逻辑就好了.

    2.2K10

    详解Android获取软键盘状态和软键盘高度

    详解Android获取软键盘状态和软键盘高度 应用场景 Android应用中有时会需要获取软键盘状态(即软键盘是显示还是隐藏)和软键盘高度。这里列举了一些可能应用场景。...场景一 当软键盘显示时,按下返回键应当是收起软键盘,而不是回退到上一个界面,部分机型返回键处理上有bug,按下返回键后,虽然软键盘会自动收起,但不会消费返回事件,导致Activity还会收到这次返回事件...注册布局变化监听 Android当软键盘由隐藏变为显示,或由显示变为隐藏时,会触发当前布局View全局布局变化。通过监听全局布局变化就可以得知软键盘状态。...并不是只有显示和隐藏软键盘会触发OnGlobalLayoutListener回调,一个View绘制完成,或者消失时都会触发OnGlobalLayoutListener回调(由于onCreate...获取当前窗口可见显示区域大小 View中提供了一个方法getWindowVisibleDisplayFrame(),此方法会返回该view所附着窗口可见区域大小。

    2.8K20

    5种方法完美解决android软键盘挡住输入框方法详解

    fitsSystemWindows=”true”只有初始view起作用:如果在布局不是最外层控件设置fitsSystemWindows=”true”那么设置那个控件高度会多出一个状态栏高度。...例如:Activityxml布局只有一个LinearLayout包含若干EditText,ActivityAndroidMainfest.xml设置android:windowSoftInputMode...、只使用ScrollView 相应界面的xml布局,最外层添加一个ScrollView,不在AndroidMainfest.xml设置任何android:windowSoftInputMode属性...可以看出,系统将选择合适状态,也就是界面最外层包含一层ScrollView时,设置默认属性stateUnspecified其实就是adjustResize属性。...(4) 重设高度, 我们计算出可用高度,是目前视觉效果上能看到界面高度。当前界面的实际高度是比可用高度要多出一个软键盘距离

    22.7K31

    Android实现状态栏和虚拟按键背景颜色变化实例代码详解

    今天介绍一下,我项目开发过程,实现状态栏和虚拟按键背景颜色变化方法,实现方式是,通过隐藏系统状态栏和虚拟按键背景,实现图片和背景显示到状态栏和虚拟按键下方。...)方法之前调用): StatusBarUtil.setTransparent(this); 该方法,首先判断API版本,由于API19以下没有设置状态栏方法,所以我们只考虑19以上版本,接着调用了...)); } 这里我直接使用系统布局,首先调用hasNavigationBar()判断是否有虚拟按键,如果有,则调用initActivity()初始化NavigationBarUtil工具类,工具类构造方法...,传入view添加了全局布局监听器,监听视图变化,监听器,调用resetViewHeight1()方法,里面通过CalculateAvailableHeight()获取虚拟按键高度,根据横竖屏不同...总结 以上所述是小编大家介绍Android实现状态栏和虚拟按键背景颜色变化实例代码详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家

    1.8K30

    良心解析 | 搭建NDK环境历程及问题记录 暨 Android Studio 2.3.3 to 3.3 填坑之路(Update坑 + AVD坑 + NDK坑)

    话说前头,这里强调一下,本文所有下载加载过程都是没有使用V**,也就是说不用访问外国网站,!!!需要优质网络,优质网络!!...;要么用流量或者,找一个不是校园网网络。。。...,我们更新了Android Studio到最新版本,没有解决这个问题; 解决之前碰壁: 好在更新之后 AS 3.3友好了很多,给出了提示: 觉得SDK Tools...接下来解决AS更新后遗留普适问题 问题描述:方才更新了AS,新建了一个项目并成功跑出了HelloWorld,对吧,但是这是AS3.3上新建项目,自然没什么问题,对于原来AS2.3.3...笔者不是因为包缺失,我们看报错里面的关键词——No toolchains,再看一下官网对于NDK 19描述——“不需要独立工具链”,“Clang会自动找到它们”,看到这里其实可以说是水落石出了

    1.2K31

    Android如何获取屏幕、状态栏及标题栏高度详解

    前言 本文主要给大家介绍了关于Android获取屏幕、状态栏及标题栏高度相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细介绍吧 开始之前,先来看一张图: ?...绿色区域:屏幕区域 蓝色区域:状态栏区域 红色区域:标题栏区域 黄色区域:view绘制区域 1.Android手机屏幕高度 整个手机使用发亮,不使用变黑部分,绿色区域 获取屏幕高度方法一 DisplayMetrics...getIdentifier("status_bar_height", "dimen", "android"); if (resourceId 0) { //根据资源ID获取响应尺寸...0) { //根据资源ID获取响应尺寸 statusBarHeight1 = getResources().getDimensionPixelSize(resourceId);...手机应用区域(红+黄区域) 手机应用区域=标题栏+View绘制区域(setcontent()设置布局) 获取手机以应用区域 //应用区域 Rect outRect1 = new Rect();

    4.7K10

    Android应用坐标系统全面详解

    这三维坐标的点处理就能构成Android丰富界面或者动画等效果,所以Android坐标系整个Android界面算是盖楼房尺寸草图,下面我们就来看看这些相关概念。...如下: View宽高方法 解释 getWidth() layout后有效,返回是mRight-mLeft,一般会参考measure宽度(measure可能没用),但不是必须。...getHeight() layout后有效,返回是mBottom-mTop,一般会参考measure高度(measure可能没用),但不是必须。...()是用于滑动View内容,而不是改变View位置;改变View屏幕位置可以使用offsetLeftAndRight()和offsetTopAndBottom()方法,他会导致getLeft...3 View还有一些其他与坐标获取相关方法 关于view获取自身坐标的方法和点击事件坐标的获取,网上也有一些博客,写不是很完整,现在系统来讲一下。 其实只要把下面这张图看明白就没问题了。

    1.3K10

    解决Android软键盘在全屏下设置adjustResize无效问题

    即添加: android:windowSoftInputMode="adjustResize" 但是全屏模式下,即使将activitywindowSoftInputMode属性设置为:adjustResize...键盘显示时它未将ActivityScreen向上推动,所以你Activityview根树尺寸是没有变化。 在这种情况下,你也就无法得知键盘尺寸,对根view作相应推移。...(0); //3、Activityxml布局设置View树监听,当布局有变化,如键盘弹出或收起时,都会回调此监听 mChildOfContent.getViewTreeObserver...); //2、如果当前可用高度和原始不一样 if (usableHeightNow !...= usableHeightPrevious) { //3、获取Activityxml布局在当前界面显示高度 int usableHeightSansKeyboard

    6.7K32

    读书笔记--Android Gradle权威指南(上)前言笔记

    更多不同概念,多个类之间可以有相互依赖关系,类持有另一个类引用等等。...3.2 gradle 插件概念 Gradle 是用来构建项目的,不是说只能用于构建 Android 项目,Java 也行,C++ 也行,很多很多。...android {} 代码块里配置项,很明显,就只有 Android 项目才需要用到了,所以这些配置并不是由 Gradle 来提供,而是由 Android Gradle 插件提供,这也就是为什么根目录...Gradle 版本并不是可以任意更改,因为它是基于每一个 Gradle 版本开发,因此需要在对应 Gradle 版本才能使用。...你改了后,发现,是可以打开项目了,构建时候又报错了,说你使用了 3.1.0 Android Gradle 插件,需要让你将 Gradle 版本改成 4.4 才可以正常构建,这 MMP 不是又绕回去了

    1.2K40

    Android开发-模拟器使用-02

    Android模拟器使用 我们开发Android程序是放在移动设备(如:手机,平板电脑等)上面运行,我们不可能每次编写一个程序都要放到移动设备上面去测试运行。这样是很不方便。...另外,不是每个开发人员都有这样移动设备。 因此,Android提供了一个模拟器,通过模拟器我们可以在上面模拟测试我们开发程序,这样给我们学习带来了很大方便。...1、创建模拟器 1.1、启动Eclipse->Android SDK and AVD Manager->New-> Name:AVD2.3.3 Target:Android 2.3.3-API Level...10 SD Card: Size:200 Snapshot:是否支持截屏,默认选择不支持,即不勾选 Skin:Bulit-in:HVGA   这里是模拟器屏幕大小 Hardware:默认即可 点击...2、运行模拟器 选择1创建好模拟器AVD2.3.3->点击Start->Lanuch->根据自己机器配置,启动时间各有不同,当然配置好电脑启动要快一点。

    77910

    Android自定义控件坐标系解析

    一、Android屏幕坐标系和数学坐标系区别 (1)、在数学坐标系以xy轴交点为坐标原点,x轴向右为正方向,y轴向上为正方向,这对于童鞋们来说已经再熟悉不过了,如图: ?...三、Android坐标系分类 上面我们分析了Android屏幕区域划分,接着我们分析一下与区域相关Android坐标系,Android坐标系可以分为:屏幕坐标系,视图坐标系。...(2)、视图坐标系 视图坐标系View绘制过程,绘制内容将以坐标系作为参考,最后确定绘制内容View里面的位置。 ?...初始为0,向左偏移为负,向右偏移为正;(常见于属性动画中) View.getTranslationY(): 当前ViewY轴偏移量。...初始为0,向上偏移为负,向下偏移为正;(常见于属性动画中) View.getX: 当前ViewX轴偏移量。

    74530

    Bitmap那些事之基础知识

    下图为google官网提供不同分辨率下不同dpi分配最小内存; ? ? 2、需要多大照片。...很多图片其实在手机上显示时候不需要完全把原图加载到内存,比如我手机相机拍了一张照片是4208*3120,加载到内存占用内存就是52M,这是很恐怖,两张照片差不多就把你app内存耗光了。...安卓2.3.3(API级别10)之前,Bitmap像素数据和Bitmap对象是分开存储,像素数据是存储native memory,对象存储Dalvik heap,native memory像素数据不是以一种可预见方式释放...,可能导致应用程序暂时超过其内存限制和崩溃,所以Android2.3.3(API 10)之前你必须要调用recycle()方法来释放掉内存避免出现OOM,当然前提是确定这个bitmap不再使用,否则会出现...Android3.0(API 11)之后,Bitmap像素数据和Bitmap对象一起存储Dalvik heap,所以我们不用手动调用recycle()来释放Bitmap对象,内存释放都交给垃圾回收器来做

    67060

    「Learn」开发记录

    原框架下载文件功能有一个bug。如果下载时抛出了异常,也会调用success回调。 这里是在下载时记录目标文件长度,success回调检查本地文件大小与这个长度是否一致。...限速下载 io流那里进行延时操作。用Thread.sleep方法。 阻塞是socket操作。 下载安装apk 下载了新版本apk后,调用代码进行安装。根据手机系统版本不同选择不同安装方式。...layout可以绑定BindingCommand。 不知道是不是开发姿势不对,快速点击某个按钮时,对应BindingCommand并不能立即响应。连续点击会错过点击事件。...改变ImageView大小不起作用。清楚as缓存也不起作用。 如果不在layout设置,而是代码setImageResource则显示正常。 设计界面 去花瓣网上找灵感。...然后改用了接口方式。设计接口里有一些通用方法。Entity里让那3个类都实现这个接口,然后方法返回我们要数据。 AsyncTask 资源分配 AsyncTask背后有一个线程池。

    1.2K20

    Android屏幕各部分详细介绍

    如果在系统设置开启虚拟手势,虚拟导航栏就隐藏了。这时候内容区就向下扩展。如果同时满足这两个条件,内容区域就实现了真正意义上全屏。...,只是不同方法而已,我们称它为rawHeight 第三种获取明显不同,称为realHeight 那么rawHeight和realHeight有什么区别?...+ 通知栏, realHeight = rootView + 通知栏 + NavigatorBar 目前官方没有判断虚拟导航栏显示隐藏api,网上不是完全之法。...显示区域(键盘高度) 还有一种区域,就是实际显示区域,可以通过 var rect = Rect() view.getWindowVisibleDisplayFrame(rect) 获得,这个就是真正显示区域...但是如果想得到键盘高度,用rootView不行,因为它包含虚拟导航栏,如果用实际高度-显示高度,虚拟键盘隐藏时得到高度要大与键盘高度。

    1.6K20
    领券