首页
学习
活动
专区
工具
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
您找到你想要的搜索结果了吗?
是的
没有找到

Jetpack ComposeMVVM实现及ViewModelremember对比

前言 ViewModel remember 是 Jetpack Compose 中用于管理数据两种不同机制。...数据持久性: ViewModel: ViewModel 数据通常具有较长生命周期,并且在配置更改(屏幕旋转)时会被保留。...remember/rememberSaveable 在Compose,rememberrememberSaveable都是用于保存可组合函数状态方法,但它们在如何保存状态以及在什么情况下会重新计算状态上有所不同...mutableStateOf/mutableStateListOf mutableStateOf 是 Jetpack Compose 一个函数,用于创建可变状态。...总的来说: mutableStateOf 作用是在 Jetpack Compose 创建可变状态,以便动态更新 UI,并确保 UI 反映最新状态值。

54910

FAQ | 为大屏幕设备构建应用常见问题解答

这是一个很好方法,无需重写所有布局代码整个应用即可优化应用界面。 如果您正在考虑重写部分界面或整个应用,那么 Jetpack Compose 也是很好选择之一。...所以强烈建议您优先选择使用 Jetpack Compose。...如需了解更多轻松优化应用指南,请参阅: Android 与 Chrome OS 针对大屏幕设备更新 Material 网站 借助 Jetpack WindowManager 支持可折叠设备双屏设备...答: 从不同屏幕尺寸角度来说,平板设备需要考虑是横屏模式下中等高度 (Medium height) 展开宽度 (Expanded width),断点分别是 480dp+ 840dp+,桌面设备需要考虑展开高度...Jetpack Compose 是用于构建原生 Android 界面的工具包,可让您更轻松地设计构建应用界面,更快地打造更出色应用。

3.5K10

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

因为Android Studio 4.0 添加了对Jetpack Compose 支持,Compose 模版Compose 及时预览。...将Jetpack Compose 添加到现有项目 如果你想在现有的项目中使用Jetpack Compose,你需要配置一些必须设置依赖: (1)gradle 配置 在app目录下build.gradle...设置项目名称, 包名保存位置 b. 注意,在语言下来菜单,Kotlin 是唯一一个可选项,因为Jetpack Compose 只能用Kotlin来写才能运行。 c....height : 设置Container容器高度,height属性优先级高于expanded,因此会覆盖expanded,如上面的例子,设置height为180dp,也就是容器宽为父控件宽度,高为180dp...本例所示,我们设置显示最大行数为2,多于部分截断处理: Text("我超❤️JetPack Compose!写起来简单,复用性又强,可以抽取很多组件来复用,不用管理复杂状态变更!"

6.1K20

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

△ 基于宽度窗口大小类表示 除了以上三种基于宽度断点外,我们还引入了具有相同类别名称基于高度断点,以便适用于更高级别的布局场景,并赋予更多灵活性。...△ 基于高度窗口大小类表示 总而言之,窗口大小类出现,代表了 Android 在自适应和响应式布局开发一大进步,包括更新和优化指南、Jetpack WindowManager 新 API...Jetpack Compose Jetpack Compose 在 2021 年 7 月发布了 1.0 版本后,在 Android 开发者社区产生了巨大反响,成千上万应用已经在生产环境中使用了 Compose...Jetpack Compose 本身是一种声明式界面工具包,通过它您可以根据页面状态进行描述,Compose 会自行进行所有必要更新。...在 JetNews 我们首先获取窗口大小类信息,在较小中等型宽度显示单窗口,而在展开型宽度显示列表/详情布局。

4.1K20

Android使用UI适配框架AutoSize

前言 屏幕适配框架AndroidAutoSize是根据今日头条屏幕适配方案优化。 这种方案无法在Jetpack Compose中使用。...Jetpack Compose可参考文章: https://www.psvmc.cn/article/2024-04-07-jetpack-compose-ui-adaptation.html 基本使用...、三方库控件以及系统控件布局效果,可以彻底屏蔽修改 density 所造成所有未知已知问题,但这样 AndroidAutoSize 也就无法对三方库进行适配 在使用主单位时,design_width_in_dp...但是如果某些 Activity 页面由于某些原因,这个页面的设计图尺寸和在 AndroidManifest.xml 填写设计图尺寸不一样该怎么办呢?...(为了保证在高宽比不同屏幕上也能正常适配, 所以只能在宽度高度之中选择一个作为基准进行适配) * * @return {@code true} 为按照宽度进行适配, {@code

10510

Docker Compose资源管理:如何设置验证CPU与内存限制

你好,亲爱读者们,今天我们将讨论一个实用而重要主题,即如何在Docker Compose设置容器服务CPU内存资源限制,以及如何检查这些限制是否已经生效。...Docker Compose资源限制 Docker Compose允许我们通过docker-compose.yml配置文件定义服务各项参数,其中包括CPU内存资源限制。...为了演示如何设定这些限制,我们假设有一个服务名为web服务,你可以在docker-compose.yml文件设置该服务资源限制,例如: version: '3' services: web:...在这些信息,你可以找到设置CPU内存限制: docker inspect 在输出大量信息,你可以找到如下部分: "HostConfig": { "CpuPeriod...总结 在本篇文章,我们了解了如何在Docker Compose为容器服务设定CPU内存资源限制,以及如何使用docker inspect命令检查这些限制是否已经生效。

4.5K30

Jetpack Compose Beta 版现已发布!

这样,我们就能更轻松地编写代码,将异步事件 (触发动画手势) 与结构化并发提供取消清理相结合。...开始学习 Compose 为了帮助您团队学习关于 Jetpack Compose 所有内容,我们更新了 学习计划,同时提供了一系列精心规划视频、Codelab 重要文档,帮助您入门。...我们会提供各种指南来帮助您快速入门, 架构、无障碍功能 测试 相关指导内容,以及针对 动画、列表 或 Compose 编程思想 深入探讨。...随着 Jetpack Compose Beta 版推出,针对 1.0 版稳定 API 功能均已构建完成。...现在时机正好,不妨开始学习 Jetpack Compose,并规划如何在接下来项目中使用该工具包。

5.6K10

compose--初入compose、资源获取、标准控件与布局

官方地址:https://developer.android.google.cn/jetpack/compose/mental-model 我这边也是根据官方文档,对重要部分自己想法进行融合,来介绍什么是...当然了,我们只需要关注在onCreate()设置xml即可,由于布局是一次性加载,即生成View树过程是同步进行 1.2 compose UI 对与compose而言,每个可组合函数(组件)...,实际开发google也推荐:UI设计从MD2转变为MD3 2.BOM 对于compose版本管理,官方推荐使用BOM,导入BOM后好处是:导入compose其他库组,都将使用BOM定义版本...fun MyBox() { Box( modifier = Modifier .sizeIn(50.dp, 70.dp),//设置内容组件最小宽度高度为...50dp、70dp,配合propagateMinConstraint=true使用 propagateMinConstraints = true,//使内容组件最小宽度高度生效

5.7K30

Jetpack Compose 自定义 好看TabRow Indicator

背景Jetpack Compose 提供了强大 Material Design 组件,其中 TabRow 组件可以用于实现 Material Design 规范选项卡界面。...Jetpack Compose TabRow与HorizontalPager 联动笔记共享App我新开发笔记共享App 也用上了TabRow与HorizontalPager联动效果效果图图片自定义...TabRow宽度由父布局决定,效果图如下图片TabRow宽度从源码上看是,直接获取SubcomposeLayout最大宽度(constraints.maxWidth)接着利用宽度tabCount计算平均值...上绘制指示器indicator 宽度根据当前 tab 宽度及百分比计算indicator 起始 x 轴坐标根据切换进度在当前 tab 前/后 tab 之间插值indicator 高度是整个...Canvas 高度,即占据了 TabRow 全高fraction 前后 tab lerping 实现了滑动切换时指示器平滑过渡效果具体可以看代码注释使用方法//默认显示第一页val pagerState

1.2K00

掌握 Jetpack Compose State,看这篇就够了

,不要错过 :-)Jetpack Compose 状态State是什么在 Jetpack ,state表示一个 UI 状态相关值。...通过修改状态更新可组合项目随着我们越多地使用 Compose 自带可组合项(Scaffolds、BottomSheet、Drawer等),我们会意识到在 Jetpack Compose 状态是无处不在...这是 Jetpack Compose 很常见修改状态模式。...要做到这点,需要引入相关拓展方法。这些拓展方法会帮我们把响应式实例转换成 Jetpack Compose 状态实例。如何在 Jetpack Compose 中使用 Kotlin Flow?...:InputText 延迟对应规避方式如何在 ViewModel 中表示状态如何将 Android 其他表示类型状态转成 Jetpack Compose 状态希望能对你有帮助。

7.2K111

Jetpack Compose 现已支持 Material You | 2021 Android 开发者峰会

这意味着 1.1 新 API 现已稳定,可以为您提供新功能并带来性能提升。...更多 Jetpack Compose 指南和文档 我们发布了大量关于 Jetpack Compose 技术分享,深入探讨了布局、动画状态,展示了如何在 Wear OS、主屏幕微件 (widget)...最后我们举行了专题讨论会,并在会上回答了与 Jetpack Compose Material 相关 大家 最关心问题。...我们还扩展了 Compose 文档,增加了针对 Jetpack Compose 不同阶段 新指南、构建自适应布局,还扩展了 主题设置指南,包括对 Material 3 指南。...Handoff 最后,我们 抢先介绍 了一些用于设计接力 (Handoff) 新工具,使您能够导出在 Figma 设计组件,以生成通用 Jetpack Compose 代码。

2.7K30

Android Jetpack组件 Compose 使用介绍

,我们需要图形界面xml去创建布局,通过预览达到我们想要效果,而Jetpack推出新组件Compose就解决了这个痛点,下面让我们来了解它,使用它。...使用它,来感受声明式UI强大之处。 正文   Jetpack Compose是一个用于构建原生Android UI现代工具包。...Jetpack Compose 通过更少代码、强大工具直观 Kotlin API 简化并加速了 Android 上 UI 开发。   听起来好像老牛逼了!!!...我们还可以给图片加一个边框,如下图所示: 你看看这样写法是不是很nice呢,这里设置边框宽度,颜色,边框裁剪方式。...这个演示效果在预览是看不出来,我们用真机来看一下: 从上面这个图来看,你会发现点击有默认水波纹效果,这一点很好,还有就是点击区域是包裹你当前这个item内容,而不是占满屏幕宽度

2.7K20

详解 Android 12L|更好地适配大屏幕设备

在此预览版,您可以尝试全新大屏幕功能,优化您应用,并与我们分享反馈。 在 Android 12L ,我们优化了大屏幕设备 UI,包括通知、快捷设置、锁屏、概览、主屏幕等。...查看 功能变更,了解您应用需要测试领域,同时查看 预览版概览 了解时间表版本细节。您可以向我们 提出问题需求,我们一既往感谢您反馈!...使用 Compose 更加轻松地适应屏幕变化 通过 Jetpack Compose 可以更加轻松地针对大屏幕多样化布局进行构建。...△ Jetpack WindowManager 窗口尺寸类 让应用能够感知折叠 WindowManager 还为不同窗口特征 (折叠铰链) 提供了通用 API 接口。...我们即将推出全新指南,为您说明如何在全新和现有的应用中支持不同屏幕尺寸、如何为 View Compose 实现导航、如何利用可折叠设备优势等内容。

3.7K20
领券