Android 一个动态获取View宽高的方法

2023-11-12

使用场景可以为已经绘画出的view,想根据比例动态改变宽高。

public class ViewUtil {
    public static void getViewWidth(final View view, final OnViewListener onViewListener) {
        ViewTreeObserver vto2 = view.getViewTreeObserver();
        vto2.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
                if(onViewListener!=null){
                    onViewListener.onView(view.getWidth(),view.getHeight());
                }
            }
        });
    }

    public interface OnViewListener {
        void onView(int width,int height);
    }
}

使用方法:

ViewGroup.LayoutParams layoutParams1 = myView.getLayoutParams();
ViewUtil.getViewWidth(myView, new ViewUtil.OnViewListener() {
    @Override
    public void onView(int width, int height) {
        layoutParams1.width = width;
        layoutParams1.height = ((int) (width * 1.05));
        myView.setLayoutParams(layoutParams1);
    }
});

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 一个动态获取View宽高的方法 的相关文章

  • Android Gradle 问题 - Flutter / Dart

    我的 Gradle 同步有问题 我使用 IntelliJ 和 Android Studio 构建 Flutter Dart 应用程序 我添加了 2 个新的依赖项 现在 Gradle 出现了问题 在 Android Studio 中一切正常
  • Android NDK 支持区域设置吗?

    我真正想做的就是使用格式化日期strftime x 以正确的顺序 在大多数平台上调用setlocale 足够 在 Android 上 我不断收到 美国日期 那么 Android 不支持语言环境吗 No setlocale and strft
  • Sun 在 EDT 之外做 GUI 工作的演示?

    我正在看SplashDemo java http download oracle com javase tutorial uiswing examples misc SplashDemoProject src misc SplashDemo
  • 将人类日期(当地时间 GMT)转​​换为日期

    我正在服务器上工作 服务器正在向我发送 GMT 本地日期的日期 例如Fri Jun 22 09 29 29 NPT 2018在字符串格式上 我将其转换为日期 如下所示 SimpleDateFormat simpleDateFormat ne
  • 在 Xamarin 中隐藏软键盘

    如何隐藏软键盘以便在聚焦时显示Entry在 Xamarin forms 便携式表单项目中 我假设我们必须为此编写特定于平台的渲染器 但以下内容不起作用 我创建自己的条目子类 public class MyExtendedEntry Entr
  • PhoneGap 1.4 封装 Sencha Touch 2.X - 性能怎么样?

    我正在构建一个多平台平板电脑应用程序 仅使用其 Webview 使用 Phonegap 1 4 对其进行包装 然后使用 Sencha Touch 2 框架发挥我的魔力 我所说的多平台是指 iOS 5 X 和 Android 3 0 目前 到
  • react-native android fontFamily 不生效

    问题一 我在index android js的欢迎样式中添加了fontFamily 但没有效果 fontFamily 真的可以在 Android 上使用吗 欢迎 字体大小 20 fontFamily roboto thin 文本对齐 居中
  • 如何在.NET中使用java.util.zip.Deflater解压缩放气流?

    之后我有一个转储java util zip Deflater 可以确认它是有效的 因为 Java 的Inflater打开它很好 并且需要在 NET中打开它 byte content ReadSample sampleName var inp
  • 在Java中运行bat文件并等待

    您可能会认为从 Java 启动 bat 文件是一项简单的任务 但事实并非如此 我有一个 bat 文件 它对从文本文件读取的值循环执行一些 sql 命令 它或多或少是这样的 FOR F x in CD listOfThings txt do
  • Jetty、websocket、java.lang.RuntimeException:无法加载平台配置器

    我尝试在 Endpoint 中获取 http 会话 我遵循了这个建议https stackoverflow com a 17994303 https stackoverflow com a 17994303 这就是我这样做的原因 publi
  • JDBC 时间戳和日期 GMT 问题

    我有一个 JDBC 日期列 如果我使用 getDate 则会得到 date 仅部分2009 年 10 月 2 日但如果我使用 getTimestamp 我会得到完整的 date 2009 年 10 月 2 日 13 56 78 890 这正
  • hibernate 6.0.2.Final 和 spring boot 2.7.0 的entityManagerFactory bean 未配置问题

    所以最近我想升级我的 Spring Boot 项目项目的一些依赖项 特别是这些组件 雅加达 EE 9 弹簧靴2 7 休眠 6 0 2 Final 完成此操作后 所有更新和代码折射 更新将 javax 导入到 jakarta 以及一些 hib
  • Android Studio代理设置构建错误

    每当我尝试在 Android Studio 中构建应用程序时 都会收到以下错误 Error 169 254 16 169 254 16 Will ignore proxy settings for these hosts 我收到错误 5 次
  • React Native HTTPS Api 调用在 IOS 中有效,但在 Android 中无效

    所以基本上我所做的就是简单地对启用了 HTTPS 的 UAT 服务器进行简单的 Axios 调用 我已经在 IOS 中测试了整个应用程序 API 调用工作正常 但一旦我在 Android 中测试了相同的应用程序 在真正的 Android 设
  • Android:分配内存失败

    我正在尝试创建一个具有 2047 mb 内存的模拟器 当我运行它时 我收到此错误 2011 02 22 14 24 14 Emulator 2011 02 22 14 24 14 Emulator This application has
  • 部署 .war 时出现 Glassfish 服务器错误:部署期间发生错误:准备应用程序时出现异常:资源无效

    我正在使用以下内容 NetBeans IDE 7 3 内部版本 201306052037 爪哇 1 7 0 17 Java HotSpot TM 64 位服务器虚拟机 23 7 b01 NetBeans 集成 GlassFish Serve
  • 使用 HtmlUnit 定位弹出窗口

    我正在构建一个登录网站并抓取一些数据的程序 登录表单是一个弹出窗口 所以我需要访问这个www betexplorer com网站 在页面的右上角有一个登录链接 写着 登录 我单击该链接 然后出现登录弹出表单 我能够找到顶部的登录链接 但找不
  • Hibernate 本机查询 - char(3) 列

    我在 Oracle 中有一个表 其中列 SC CUR CODE 是 CHAR 3 当我做 Query q2 em createNativeQuery select sc cur code sc amount from sector cost
  • Spring RESTful控制器方法改进建议

    我是 Spring REST 和 Hibernate 的新手 也就是说 我尝试组合一个企业级控制器方法 我计划将其用作未来开发的模式 您认为可以通过哪些方法来改进 我确信有很多 RequestMapping value user metho
  • Java 和/C++ 在多线程方面的差异

    我读过一些提示 多线程实现很大程度上取决于您正在使用的目标操作系统 操作系统最终提供了多线程能力 比如Linux有POSIX标准实现 而windows32有另一种方式 但我想知道编程语言水平的主要不同 C似乎为同步提供了更多选择 例如互斥锁

随机推荐

  • vite 原理解析与实践

    vite 原理解析与实践 vite 是什么 Vite 法语意为 快速的 发音 vit 是一种新型前端构建工具 能够显著提升前端开发体验 它主要由两部分组成 一个开发服务器 它基于 原生 ES 模块 提供了 丰富的内建功能 如速度快到惊人的
  • linux-awk命令

    目录 1 linux awk 模糊查询 2 linux awk 取列 2 3 linux awk 多个条件and查询 4 linux awk取列 1 5 linux awk取行 6 linux awk 所有pod日志查询 7 linux a
  • Windows server 2016 部署用户漫游

    所需设备 一台Windows server 2016 两台或者以上win7 win10 环境 Windows server 2016 为域控制器 ip地址为192 168 1 1 24 win7 win10加入域控环境 开始部署用户漫游 创
  • 编程每日一题_C程序设计_逆序的三位数

    问题描述 问题来源 C语言程序设计 浙江大学翁老师 改编 有多组数据 每组数据为一个整型正三位数 当输入一组数据时 程序输出按位序逆序的数字 若输入数字结尾为零时 输出不应有前导的零 输入格式 每个测试有多组数据 每组均为一个三位的正整数
  • [4G&5G专题-130]:RF- 软件架构

    作者主页 文火冰糖的硅基工坊 https blog csdn net HiWangWenBing 本文网址 https blog csdn net HiWangWenBing article details 119731935 目录 第1章
  • java中的静态变量的作用域_详解JAVA中static的作用

    1 深度总结 引用一位网友的话 说的非常好 如果别人问你static的作用 如果你说静态修饰 类的属性 和 类的方法 别人认为你是合格的 如果是说 可以构成 静态代码块 那别人认为你还可以 如果你说可以构成 静态内部类 那别人认为你不错 如
  • MIFARE 处理 7字节UID卡片

    免费的东西被人传到CSDN居然收费 需要的请参考参考 https www nxp com docs en application note AN10927 pdf
  • C++小游戏—猜数字

    今天我们用C 语言来制作一个小游戏 猜数字 include
  • 医学图像数据集下载地址

    有些需要富强文明上网 1 ACDC dataset Human Heart Project 2 Brain Tumor Segmentation BraTS 2019 MICCAI s Dataset on Brain Tumor Segm
  • 【Git 教程系列第 27 篇】ssh: connect to host github.com port 22: Connection refused 的解决方案

    这是 Git 教程系列第 27 篇 如果觉得有用的话 欢迎关注专栏 文章目录 一 问题描述 二 解决方案 一 问题描述 自己的一个 git 项目 昨天在公司正常 push 的时候 提示文字信息如下 ssh connect to host g
  • mysql join 循环_MySQL中Join的基本实现原理

    在 MySQL 中 只有一种 Join 算法 就是大名鼎鼎的 Nested Loop Join 他没有其他很多数据库所提供的 Hash Join 也没有 Sort Merge Join 顾名思义 Nested Loop Join 实际上就是
  • 强势出圈!当NFT头像袭来,你pick哪一款?

    NFT有多火爆 看看余文乐的新头像就知道了 余文乐instagram用的头像正是CryptopPunks 加密朋克 系列 不止余文乐 姚明 村上隆 锡安 威廉姆森 阿姆 撒盐哥等等弄潮儿纷纷打卡加密艺术 名人效应对NFT的强势崛起起着强有力
  • QVector、QList、QLinkedList类用法区别

    QVector QList QLinkedList类用法区别 1 QVector 是提供动态数组的一个模板类 QList 是提供列表的一个模板类 QLinkedList 是提供链表的一个模板类 2 QVector
  • 【比赛合集】50+场可报名的数据挖掘奖金赛,任君挑选!

    CompHub 实时聚合多平台的数据类 Kaggle 天池 和OJ类 Leetcode 牛客 比赛 本账号同时会推送最新的比赛消息 欢迎关注 近期CompHub对进行中的比赛增加了 是否可报名 的识别 你可以直接在CompHub中浏览当前可
  • QLineEdit用正则限制文本框的输入内容+正则表达式语法

    参考文章 QLineEdit输入限制 使用正则表达式限制输入浮点数 QRegExp rx 0 1 9 0 9 0 5 d 1 4 t 使用正则表达式限制只能输入数字 QRegExp rx 0 9 QRegExpValidator valid
  • 【插入排序算法】

    1 请设计直接插入排序算法 折半插入排序算法 希尔排序算法 输出每一趟的排序结果 2 源码 include
  • MMU基本概念及工作原理

    1 什么是MMU MMU是 MemoryManagementUnit 的缩写即 内存管理单元 针对各种CPU MMU是个可选的配件 MMU负责的是虚拟地址与物理地址的转换 提供硬件机制的内存访问授权 现代 CPU 的应用中 基本上都选择了使
  • qt creator各个部件显示图片总结

    在工作中 UI设计经常需要显示各式各样的图片 下面就总结了qt如何在一些部件中显示图片的方式 一 QFrame或者QWidget显示图片 在属性stylesheet中填写 loginBoxFrame border image url ico
  • 经验分享:使用谷歌浏览器下载想要的任意网页视频/音乐的方法

    在上网的时候 有些时候看到好看的视频或者需要下载需要的视频 音乐 尤其是那种在网页上面的视频 音乐 想要下载 但是根本没有下载按钮 那怎么下载呢 其实步骤很简单 只需要电脑上安装的有谷歌浏览器 轻松解决这个下载不了网页视频 音乐的问题 通过
  • Android 一个动态获取View宽高的方法

    使用场景可以为已经绘画出的view 想根据比例动态改变宽高 public class ViewUtil public static void getViewWidth final View view final OnViewListener