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

何在onCreate获取View高度宽度

何在onCreate获取View高度宽度 在开发过程中经常需要获取到View宽和高,可以通过View.getWidth()View.getHeight()来得到宽高。...然而新手们经常在onCreate方法中直接调用上面两个方法得到值是0! 这是为什么呢? 因为View绘制是通过两个遍历来完成,一个measure过程,一个layout过程。...只有经过“测量”“布局”之后,View才能正确地完成绘制。而这一切是发生在onCreate方法之后。...所以在onCreate中直接使用View.getWidth()View.getHeight()是无法得到正确。 那应该怎么onCreate获取View宽高呢?...开发者可以通过View.post()方法来获取到View宽高,该方法传递一个Runnable参数,然后将其添加到消息队列,最后在UI线程执行。

5.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

android如何获取view在布局高度宽度详解

前言 可能很多情况下,我们都会有在activity获取view 尺寸大小(宽度高度需求。面对这种情况,很多同学立马反应:这么简单问题,还用你说?你是不是傻。。...然后立马写下getWidth()、getHeight()等方法,洋洋得意就走了。然而事实就是这样吗?实践证明,我们这样是获取不到View宽度高度大小。...当我们在 onCreate() 方法获取某个 View 组件宽度高度,直接调用 getWidth()、getHeight()、getMeasuredWidth()、getMeasuredHeight...下面来一起看看吧 实现方法 一、使用 View.measure 测量 View 该方法测量宽度高度可能与视图绘制完成后真实宽度高度不一致。...,会被多次调用,因此需要在获取到视图宽度高度后执行 remove 方法移除该监听事件。

5.7K10

android之实现打开相册、拍照录像、播放视频、保存图片到系统相册指定位置、图片压缩

6.0以后对某些涉及用户隐私权限获取需要动态获取,所以首先是检查权限,没有权限则动态申请权限,这里我们需要用到权限是WRITE_EXTERNAL_STORAGECAMERA。...—— 将Bitmap保存图片到指定路径/sdcard/Boohee/下,文件名以当前系统时间命名,但是这种方法保存图片没有加入到系统图库 public static File saveImage(...——- 调用以上系统自带方法会把bitmap对象保存到系统图库, 但是这种方法无法指定保存路径名称, 上述方法title、description参数只是插入数据库字段, 真实图片名称系统会自动分配...插入图库方法图片并没有立刻显示在图库,而我们需要立刻更新系统图库以便让用户可以立刻查看到这张图片。...480x800为标准 float hh = 800f;//这里设置高度为800f float ww = 480f;//这里设置宽度为480f //缩放比,由于是固定比例缩放,只用高或者宽其中一个数据进行计算即可

5.2K20

android 优化之Bitmap优化

Android应用里,最耗费内存就是图片资源。 在Android系统,读取位图Bitmap时,分给虚拟机图片堆栈大小只有8M,如果超出了,就会出现OutOfMemory异常。...对象 return defaultBitmapMap; } 缓存通用Bitmap对象 压缩图片 如果图片像素过大可以将图片缩小,以减少载入图片过程内存使用,避免异常发生。...使用BitmapFactory.Options设置inJustDecodeBounds为true后,并不会真正分配空间,即解码出来Bitmap为null, 但是可计算出原始图片宽度高度,即options.outWidth...); 在实际项目中,可以利用上面的代码,先获取图片真实宽度高度,然后判断是否需要跑缩小。...= null) { // 获取到系统图库返回回来图片uri Uri uri = data.getData(); System.out.println

1.3K70

Android Studio 获取屏幕宽度实例

获取整个屏幕宽度实例 Point p = new Point(); //获取窗口管理器 WindowManager wm = (WindowManager) context.getSystemService...(Context.WINDOW_SERVICE); wm.getDefaultDisplay().getSize(p); screenWidth = p.x; // 屏幕宽度 补充知识:Android屏幕适配之动态设置单个控件宽高比例...要求图、文各占一半大小,图片宽高比例目测是1:2。这种情况不适合把高度写死,因为iPad屏幕大小差异有些大,高度写死图片hin容易变形,因此我们就需要动态去设置这个图片宽高。...正题:首先我们已知图片宽度是屏幕一半,所以我们只要获取图片宽度,然后设置高度宽度1/2即可。...以上这篇Android Studio 获取屏幕宽度实例就是小编分享给大家全部内容了,希望能给大家一个参考。

2.8K20

Android图片或拍照选择图片功能实例代码

前言 一般公司都有更换用户头像功能,需要从图库中选择图片或者拍照,基本还会对图片进行裁剪。最近抽空就做了一些简单封装,方便以后使用。主要是用了建造者模式,链式调用,方便简单。...可以自定义图片路径,附带裁剪简单压缩功能。...path="." / </paths 然后需要在manifest引用当前路径,如下: <provider android:name="android.support.v4.content.FileProvider...intent.putExtra("aspectX", 1); intent.putExtra("aspectY", 1); // 设置裁剪区域宽度高度 intent.putExtra...处理关于图片选择结果回调,然后再根据类型处理不同结果 /** * 代理Activity返回值过程然后 * * @param requestCode * @param resultCode

98720

Android Studio preview 不固定及常见问题解决办法

Android Studio提供了一个强大“Preview”工具,可以帮助您预览您布局文件将如何在用户设备上呈现。XML布局可能是Android开发中最常用资源。...您项目中每个活动至少有一个布局文件。 Android Studio预览工具可帮助您实现这些伟大设计,并快速迭代它们,甚至不需要运行您应用程序。...它还允许您查看布局不同配置,例如在纵向或横向时外观,或者TextView在多个语言环境(英语,德语或希腊语)上外观。...问题2:测试最大宽高 或者当您布局旨在显示来自外部源一些内容时,它有时被要求具有一些最大宽度或/高度(也就是使用了maxHeight属性),来确保您布局看起来美观,即使外部源发送大于预期或某些宽高比未被同意图像...这时可以使用tools:layout_heighttools:layout_width,并且设置一个固定颜色toos:background来预览各个尺寸下图片可以在ImageView占用空间。

3.6K30

Android 动态加载二维码视图生成快照示例

(常见这种情况是来源于“图片分享”功能需求,与普通图片分享不同在于,该快照图片是动态加载不显示。) ?...2.需求功能拆解 动态二维码实现 动态视图生成快照实现 3.踩坑点提要 获取不到动态视图bitmap 无法获取最新动态视图bitmap 4.开发实现 动态加载视图布局文件代码: <?...,第一组MeasureSpec我将size设置为了当前显示页面的布局宽度(也就是屏幕宽度),然后mode设置为EXACTLY—— 所表示意义是:给hideView子View指定了精确宽度大小为当前屏幕宽度...在上面代码,将高度size指定为0,mode指定为 UNSPECIFIED 则表示—— 整个动态加载视图高度指定为:依据于最后子View确认高度。...可以看到,动态生成快照宽度也变成了显示二维码ImageView宽度了。 扩展:如何在宽高均为size = 0 && mode= UNSPECIFIED 情况下获取整个屏幕大小视图呢?

90630

Android 内存优化】Bitmap 图像尺寸缩小 ( 设置 Options 参数 | inJustDecodeBounds | inSampleSize | 工具类实现 )

目标图片宽高要求 : 宽度高度只要存在一个大于限定最大值时 , 就进行缩小操作 ; 要求指定图片必须能放到 maxBitmapWidth 宽度 , maxBitmapHeight 高度矩形框...要求指定图片必须能放到 maxBitmapWidth 宽度 , maxBitmapHeight 高度矩形框 最终要求就是 宽度必须小于 maxBitmapWidth, 同时高度也要小于...); // 获取 iamgeResId 图片资源对应图片宽度 imageWidth = options.outWidth; // 获取 iamgeResId...计算图片缩小比例 /* 计算缩小比例 宽度高度只要存在一个大于限定最大值时 , 就进行缩小操作 要求指定图片必须能放到...maxBitmapWidth 宽度 , maxBitmapHeight 高度矩形框 最终要求就是 宽度必须小于 maxBitmapWidth, 同时高度也要小于 maxBitmapHeight

2.6K20

原创|Android Jetpack Compose 最全上手指南

要想获得Jetpack Compose 最佳体验,我们需要下载最新版本Android Studio 预览版本(即Android Studio 4.0)。...因为Android Studio 4.0 添加了对Jetpack Compose 支持,Compose 模版Compose 及时预览。...创建一个支持Jetpack Compose 应用,如下几个步骤就可以了: 1.如果你在Android Studio欢迎窗口,点击Start a new Android Studio project,...为LayoutSize.Expand即表示Column宽度应为其父组件允许最大宽度,相当于传统布局match_parant ,还有一个值为LayoutSize.Wrap,看名字就知道,包裹内容,相当于传统布局...height : 设置Container容器高度,height属性优先级高于expanded,因此会覆盖expanded,如上面的例子,设置height为180dp,也就是容器宽为父控件宽度,高为180dp

6.1K20

Android 内存优化】Android 工程中使用 libjpeg-turbo 压缩图片 ( JNI 传递 Bitmap | 获取位图信息 | 获取图像数据 | 图像数据过滤 | 释放资源 )

函数库头文件拷贝 | 构建脚本配置 | Android Studio 测试函数库 ) 对 libjpeg-turbo 函数库进行了交叉编译 , 拷贝了相应头文件和静态库到 Android Studio...Bitmap 信息 : 在 AndroidBitmapInfo 结构体 , 封装了图像宽度 , 图像高度 , 像素格式等信息 ; /** Bitmap info, see AndroidBitmap_getInfo...// JPEG 格式图片, 没有透明度信息, 像素格式是 RGB // 这里需要去掉透明度信息 // 获取图片像素宽度 int width = info.width;...// 获取图片像素高度 int height = info.height; // 存储 RGB 数据 uint8_t* data = (uint8_t *) malloc(width...RGB // 这里需要去掉透明度信息 // 获取图片像素宽度 int width = info.width; // 获取图片像素高度 int height

92920

折叠屏上应用设计规范,了解一下?

包括适当缩放以展示更多内容,示例副标题日期,以及较小组合技术,例如在紧凑型布局对内容进行视觉分组并保持其相关性等。...例如,几乎所有标准手机在竖屏模式下都采用了较小 (Compact) 宽度中等 (Medium) 高度组合,由于普遍使用垂直滚动,对大多数应用而言,根据宽度尺寸类别进行适配就已足够。...△ 基于宽度尺寸类别 △ 基于高度尺寸类 这些 尺寸类 将作为新 API 出现在 1.1 版 Jetpack Window Manager 库。...我们将使用这些坐标以及宽度高度创建一个 Rect 对象,这样我们便得到了窗口坐标空间中视图边界。...△ Android Studio Chipmunk 可调整尺寸模拟器 我们也一直在 Android Studio 开发新工具,希望为大家开发大屏幕应用提供支持。

4.3K20

Android从屏幕底部弹出popupWindow

popupView = View.inflate(this, R.layout.item_change_icon, null); // 参数2,3:指明popupwindow宽度高度...,在此也附上拍照选择相册代码,希望能帮到大家 //Bimap:对应图片在内存对象 //掌握:存储--->内存:BitmapFactory.decodeFile(String filePath...各个不同系统版本,对于获取外部存储上资源,返回Uri对象都可能各不一样,所以要保证无论是哪个系统版本都能正确获取图片资源的话 //就需要针对各种情况进行一个处理了...FileNotFoundException e) { e.printStackTrace(); } } } // 将修改后图片保存在本地存储...(Bitmap source) { // 获取图片宽度 int width = source.getWidth(); // 创建一个与source等宽

3.4K30

为任意屏幕尺寸构建 Android 界面

△ 基于宽度窗口大小类表示 除了以上三种基于宽度断点外,我们还引入了具有相同类别名称基于高度断点,以便适用于更高级别的布局场景,并赋予更多灵活性。...△ 基于高度窗口大小类表示 总而言之,窗口大小类出现,代表了 Android 在自适应和响应式布局开发一大进步,包括更新和优化指南、Jetpack WindowManager 新 API...以及 Android Studio 新工具。...在 JetNews 我们首先获取窗口大小类信息,在较小中等型宽度显示单窗口,而在展开型宽度显示列表/详情布局。...获取更好用户体验 在前文中,我们提到为了提供更好用户体验,请添加对应用有意义功能,支持可折叠设备。

4.1K20

Android编程权威指南》之Android开发初体验

Android Studio 基于流行IntelliJ IDEA创建,Android Studio是用 于Android开发一套集成开发工具。...SDK Android Studio,Tools → SDK Manager。 sdk 3....new api version Android Studio 使用导航 用多了就知道了,书上描述很简单,还有一些Android Studio小技巧,收藏了一篇很全面的博客,从此篇真的学到了很多技巧...组件属性给组件设置各种属性,自行看书,常用就是设置些什么宽度高度边距内容什么。...组件实际应用 主要就在讲如何在代码获得布局文件组件,为之设置监听器等内容,现在很多项目都用一些注解类框架来简化这个过程,比如说ButterKnife,还有ViewBinding(AS3.6 才支持

1.2K20
领券