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

安卓ScaleAnimation是相对于当前大小,而不是实际大小...如何修复?

安卓ScaleAnimation是一种用于实现视图缩放动画效果的类。它默认是相对于当前大小进行缩放,而不是相对于实际大小。如果需要修复这个问题,可以通过以下步骤进行:

  1. 获取视图的实际大小:可以使用视图的getWidth()和getHeight()方法获取视图的实际宽度和高度。
  2. 计算缩放比例:根据实际大小和目标大小之间的差异,计算出缩放比例。可以使用目标大小除以实际大小来得到缩放比例。
  3. 创建ScaleAnimation对象:使用修复后的缩放比例,创建一个新的ScaleAnimation对象,并设置缩放的起始和结束大小。
  4. 应用修复后的动画:将修复后的ScaleAnimation对象应用到视图上,可以使用视图的startAnimation()方法来启动动画效果。

修复后的代码示例:

代码语言:txt
复制
int actualWidth = view.getWidth();
int actualHeight = view.getHeight();

float targetWidth = 500; // 目标宽度
float targetHeight = 500; // 目标高度

float scaleX = targetWidth / actualWidth;
float scaleY = targetHeight / actualHeight;

ScaleAnimation scaleAnimation = new ScaleAnimation(1, scaleX, 1, scaleY);
scaleAnimation.setDuration(1000); // 设置动画时长

view.startAnimation(scaleAnimation);

这样修复后的ScaleAnimation将会相对于视图的实际大小进行缩放,而不是相对于当前大小。请注意,以上代码示例中的目标宽度和高度仅作为示例,您可以根据实际需求进行调整。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云官网:https://cloud.tencent.com/
  • 云计算产品:https://cloud.tencent.com/product
  • 移动开发相关产品:https://cloud.tencent.com/product/mobile
  • 人工智能相关产品:https://cloud.tencent.com/product/ai
  • 数据库相关产品:https://cloud.tencent.com/product/cdb
  • 云原生相关产品:https://cloud.tencent.com/product/tke
  • 音视频处理相关产品:https://cloud.tencent.com/product/mps
  • 存储相关产品:https://cloud.tencent.com/product/cos
  • 区块链相关产品:https://cloud.tencent.com/product/baas
  • 物联网相关产品:https://cloud.tencent.com/product/iotexplorer
  • 网络安全相关产品:https://cloud.tencent.com/product/ssm
  • 服务器运维相关产品:https://cloud.tencent.com/product/cvm
  • 网络通信相关产品:https://cloud.tencent.com/product/im
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

微信内置浏览器 长按识别二维码 功能的两三个坑与解决方案

坑一:iOS 版微信长按识别二维码无法正常识别的bug (8.21 更新:最新版6.2.4 已经修复该bug) 以下实测在iOS 版(iPhone)微信6.2.2 中有此bug,版微信暂时没有发现有此...长按识别二维码 的原理Jeff 不甚了解,但却发现其有一个实际可识别区域上移的bug:对于二维码区域,实际可识别区域整体上移64px,64px 的偏移量与二维码大小本身无关。...红色的色块区域我单独为了定位区域写的,不是在二维码本身(具体可以查看上面Demo 的源代码),用手指长按你可以看到实际可识别二维码区域为红色部分:即整体可识别区域上移了64px,往下拉看到不同大小的二维码你会发现这个...类似下图的样子,前端上用户看不到的;但有个缺点就是如果用户保存二维码后则不是那么好看。 ?...这个问题在iOS 版(iPhone)微信2.2及版上均有之。 下面一个演示Demo 页面,请用目标手机(iPhone 或机上)微信扫描访问,然后长按识别二维码: ?

11.1K61

移动前端开发之viewport的深入理解

例如设备根据屏幕像素密度可分为ldpi、mdpi、hdpi、xhdpi等不同的等级,分辨率也是五花八门,设备上的一个css像素相当于多少个屏幕物理像素,也因设备的不同不同,没有一个定论。...,必须让css中的1px代表更多的物理像素,才能让1px的东西在屏幕上的大小与那些低分辨率的设备差不多,不然就会因为太小看不清。...因为这个属性只有支持,并且已经决定要废弃target-densitydpi 这个属性了,所以这个属性我们要避免进行使用 。...自带的webkit浏览器只有在 initial-scale = 1 以及没有设置width属性时才是表现正常的,也就相当于这理论在它身上基本没用;IE则根本不甩initial-scale这个属性,...这里的宽度所用的单位px都是指css中的px,它跟代表实际屏幕物理像素的px不是一回事。

1.1K50
  • animation rotate_canvas scale

    A坐标为(50,50) TranslateAnimation(10,15,20,25), * 那么A点从起始点(50+10,50+20)【注意!...并不是从(50,50)】移动到当前点(50+15,50+25) * * 效果: * A(50, 50)跳跃到相对于该位置(10,20)的点B【B的坐标为(50+10,50+20)】,在移动到相对于A点...value值为50,既为相对于当前位置增量为50的坐标点 * Animation.RELATIVE_TO_SELF(相对自己),Animation.RELATIVE_TO_PARENT(相对父控件)。...(50,50),那么A(50,50)跳跃到相对于该位置 * (100*0.5,50*0.5)的点B【B的坐标为(50+100*0.5,50+50*0.5)】, * 在移动到相对于A点(10,10)的点C...RotateAnimation(0, 360,Animation.RELATIVE_TO_PARENT, 0f,Animation.RELATIVE_TO_PARENT, 0.5f); * 解释如下: * 条件:设图片大小

    61720

    Android源码解析--Material Design之水波纹点击效果RippleEffect使用

    ) / rippleDuration))));               timer++;           }       }   这里面包括我们设置圆的颜色、半径大小...,透明度(透明度根据距离的增长越来越透明的) 最重要的核心部分也就是创建动画了: [java] view plaincopy ... = new ScaleAnimation(2.0f, zoomScale, 2.0f, zoomScale, w / 2, h / 2);           scaleAnimation.setDuration...    float pivotXValue 动画相对于物件的X坐标的开始位置    int pivotYType 动画在Y轴相对于物件位置类型    float pivotYValue 动画相对于物件的...我们就需要给我们的RippleView设置监听事件不是我们的控件设置监听事件了,因为我们的RippleView中有这样一个接口: [java] view plaincopy <span style

    1.9K20

    CSS 布局的本质是什么

    api 分别由、ios 实现然后注入到 JS 引擎里。...和、ios 的跨端方案逐渐流行一样,桌面端也出现了 electron 的方案,通过网页来渲染界面和写逻辑,需要用的 api 注入到 JS 引擎中,而且 electron 直接把 Node.js 的...vscode 分为了标题栏、状态栏、内容区,上中下结构,内容区又分为了活动栏、侧边栏、编辑区,左中右结构。窗口可以调整大小,而这个上中下嵌套左中右的结构不变的。 这种布局如何实现呢?...但是,绝对定位要指定具体的 top、bottom、left、right 值,静态的,窗口大小改变的时候需要动态的设置具体的值。...具体 font、text、image 等分别有不同的样式来描述如何渲染,布局确定每个元素的位置,由 display 配合 position 来确定。

    67540

    CSS 布局的本质是什么

    api 分别由、ios 实现然后注入到 JS 引擎里。...和、ios 的跨端方案逐渐流行一样,桌面端也出现了 electron 的方案,通过网页来渲染界面和写逻辑,需要用的 api 注入到 JS 引擎中,而且 electron 直接把 Node.js 的...vscode 分为了标题栏、状态栏、内容区,上中下结构,内容区又分为了活动栏、侧边栏、编辑区,左中右结构。窗口可以调整大小,而这个上中下嵌套左中右的结构不变的。 这种布局如何实现呢?...但是,绝对定位要指定具体的 top、bottom、left、right 值,静态的,窗口大小改变的时候需要动态的设置具体的值。...具体 font、text、image 等分别有不同的样式来描述如何渲染,布局确定每个元素的位置,由 display 配合 position 来确定。

    75940

    CSS 布局的本质是什么

    api 分别由、ios 实现然后注入到 JS 引擎里。...和、ios 的跨端方案逐渐流行一样,桌面端也出现了 electron 的方案,通过网页来渲染界面和写逻辑,需要用的 api 注入到 JS 引擎中,而且 electron 直接把 Node.js 的...vscode 分为了标题栏、状态栏、内容区,上中下结构,内容区又分为了活动栏、侧边栏、编辑区,左中右结构。窗口可以调整大小,而这个上中下嵌套左中右的结构不变的。 这种布局如何实现呢?...但是,绝对定位要指定具体的 top、bottom、left、right 值,静态的,窗口大小改变的时候需要动态的设置具体的值。...具体 font、text、image 等分别有不同的样式来描述如何渲染,布局确定每个元素的位置,由 display 配合 position 来确定。

    98940

    借你一双慧眼,鸟瞰二进制世界的秘密

    一 由于Java世界的特性所致,应用在代码自身保护方面一直乏善可陈。所谓的Java混淆等技术,也不过一层簿簿的面纱,极易被撕开,毫无秘密可言。所以,当前也没有谁敢拿“面纱”作为唯一保护措施。...与其它系统不大一样,系统的功能多以Java语言接口对外提供。虽然也提供NDK模式,允许使用JNI方式与系统交互,然而毕竟没有使用Java语言那么直接方便。...常见的有获取当前应用是否处于调试连接状态;查看是否存在IDA驻留程序;相应端口号是否被占用;ptrace功能是否启用,或者提前使用ptrace“占位”;设置“哨兵”进程;某段代码运行时长是否异常等等,不一足...唯有函数级别的运行信息粒度大小适中,且忠实反映了程序作者的设计意图,快速了解程序整体运行逻辑的最佳切入点。 提取程序的函数运行信息不是新鲜事。...图9 从这也可以看出,系统对隐私数据的保护存在架构上的缺陷。即使其权限管理日趋细化,实际上还是防君子不防小人,很多数据无需权限也可以通过native代码获取。

    92000

    我们破解了几乎所有旗舰手机的人脸识别,iPhone幸免于难

    但智能手机应该保护用户数据,使其免于泄露,不是侵犯隐私。 如果你一位手机用户,那么请马上把手机从眼前移开。...然后进行面部修复和上色。利用这种方法几天之内就能做出一个真人头部大小的模型,总花费仅 300 英镑。 在这之后,你就得到了一个几乎完美的人头复制体。 ?...Backface 公司制作的 3D 打印头部 实验过程中,福布斯的记者使用了与自己头部大小相同的模型在 5 台手机上进行了测试,其中包括一台 iPhone X 和四台手机:LG G7 ThinQ、...结果四台手机全部解锁,只是解锁难度有所区别。iPhone X 唯一幸免于难的手机。 手机抵抗攻击的性能也存在差异。如,首次打开这部全新的 G7 时,LG 曾提醒用户不要打开人脸识别。...苹果称,同为生物识别技术,TouchID 的解锁错误率五万分之一, FaceID 则是一百万分之一。 手机节节溃败,计算机的面部识别安全性如何

    3.4K30

    Android入门之动画

    RotateAnimation //相对于自身的哪个位置旋转,这里相对于自身的右下角 RotateAnimation ra = new RotateAnimation(0, 360, //从哪旋转...TranslateAnimation ta = new TranslateAnimation(//位移动的动画效果 Animation.RELATIVE_TO_SELF, 0,//指定这个位置相对于谁...并且针对这三种动画的动画模式分为: Property Animation : 属性动画,从Android 3.0开始引进,更改的对象的实际属性,而且属性动画不止可以应用于View还可以应用于任何对象。...对于View Animation而言,它只改变了View对象绘制的位置,没有改变View对象本身的属性,比如,有一个200200大小的Button,你用Tween动画给放大到500500但是它的有效点击区域还是...确切的说TextView的宽度对应的xml中android:layout_width属性,TextView还有另外一个属性:android:width,android:width 属性对应的就是TextView

    78870

    要进大厂,至少要把这些Android高端技术面试题搞清楚!

    Glide内存缓存如何控制大小? 二、网络和安全机制 网络框架对比和源码分析 自己去设计网络请求框架,怎么做?...client如何确定自己发送的消息被server收到? 谈谈你对WebSocket的理解 WebSocket与socket的区别 谈谈你对签名的理解。 请解释为啥要加签名机制?...说一款你认为当前比较火的应用并设计(比如:直播APP,P2P金融,小视频等) 谈谈对java状态机理解 Fragment如果在Adapter中使用应该如何解耦?...谈谈对动态加载(OSGI)的理解 内存对象的循环引用及避免 内存回收机制、GC回收策略、GC原理时机以及GC对象 垃圾回收机制与调用System.gc()区别 Ubuntu编译系统 系统启动流程是什么...App中唤醒其他进程的实现方式 最后 学习技术一条慢长艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!

    97500

    金三银四要来了?不要慌,Android高级面试题刷一刷

    的app加固如何做? 的混淆原理是什么? 谈谈你对签名的理解 为什么WebView加载会慢呢? 如何优化自定义View FC(Force Close)什么时候会出现?...Android Apk V1 签名原理 说下虚拟机和java虚拟机的原理和不同点?...采用自动垃圾回收机制,请说下内存管理的原理? 开放性问题:如何设计垃圾回收算法? Android中App如何沙箱化的,为何要这么做? 一个图片在app中调用R.id后如何找到的?...Glide如何确定图片加载完毕? Glide使用什么缓存? Glide内存缓存如何控制大小?...如何绕过9.0限制? 对文件描述符怎么理解? 如何实现进程安全写文件? 结尾 学习技术一条慢长艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!

    1.4K30

    APP省流量更新监控最佳实践

    然后100个app循环,依次推送并安装到指定测试的手机至上,并使用UI自动化技术作为按键控制和app页面元素监控,成功获取是否增量更新以及增量更新大小和相关合成/下载速度等指标。...UIAutomator为数不多的官方支持的自动化框架之一。其API简明高效,被广大测试同学所钟爱。尤其UIAutomator非常适合App间协作所需的跨进程测试,本专项正是此场景。...由于内核剪裁的linux基本核。所以,内存底层数据规律和linux一致的。笔者研究了其内存机制,并找到了一种合适的监控方法。先说操作,再讲原理。...VmRSS:表示进程当前占用物理内存的大小(与procrank中的RSS) VmData:表示进程数据段的大小 VmStk:表示进程堆栈段的大小 VmExe:表示进程代码的大小 VmLib:表示进程所使用共享库的大小...该文件中的所有值都是从系统启动开始累计到当前时刻。CPU不是一个瞬时态,而是一个过程态的体现,这一点和内存不同,大家要清楚明白。

    3.3K10

    怎么恢复删除的微信聊天记录?3种恢复技术你都了解几种

    1、recover恢复 recover恢复一种非常常见的微信聊天记录恢复方法,同时也是非常出名的一种,具体操作步骤如下:首先在微信搜索框中输入【recover】——点击【微信修复工具】——选择【修复聊天记录...】点击修复即可完成。...2、移动端恢复 如果手机出现微信聊天记录误删的情况,同样可以采取第一种恢复方法,如果出现恢复不了的情况,需要在浏览器或者自带的手机应用市场中找到"极速数据恢复"这个专业的数据恢复工具,它除了能够恢复微信聊天记录之外...3、电脑恢复方法 电脑恢复方法也很简直,只需在电脑中安装一个"互盾恢复大师"即可,下载的途径可以在浏览器中搜索或者去官网下载。...之后系统会进入一个数据扫描阶段,这个阶段的扫描时间根据丢失文件大小来决定的,等数据扫描完成之后选择左侧【微信】勾选需要恢复的微信聊天记录,选择【恢复选中文件】即可找回丢失的微信聊天记录了。

    1.2K00

    AutoJs6 – v6.2.0 – JavaScript 自动化工具 (Auto.js 二次开发)

    软件语言切换后可能导致的页面文字闪变及部分页面按钮功能异常 修复 工作路径为一个项目时软件启动后不显示项目工具栏的问题 修复 工作路径可能跟随软件语言切换自动改变的问题 issue #19 修复...定时任务启动延时显著 (试修) issue #21 修复 JavaScript 模块名被覆盖声明时导致存在依赖关系的内部模块无法正常使用的问题 issue #29 修复 高版本系统点击快速设置面板中相关图标后面板可能无法自动收起的问题...(试修) issue #7 修复 高版本系统可能出现部分页面与通知栏区域重叠的问题 修复 10 及以上系统无法正常运行有关设置画笔颜色的示例代码的问题 修复 示例代码 “ 音乐管理器 ”...(试修) 修复 文本编辑器设置字体大小时可用最大值受限的问题 修复 部分系统脚本运行结束时日志中无法统计运行时长的问题 修复 使用悬浮窗菜单关闭悬浮窗后重启应用时悬浮窗依然开启的问题 修复...布局层次分析时长按列表项可能导致弹出菜单溢出下方屏幕的问题 修复 7.x 系统在夜间模式关闭时导航栏按钮难以辨识的问题 修复 http.post 等方法可能出现的请求未关闭异常 修复 colors.toString

    4.5K20

    详解如何将 Android 手机投屏在 Ubuntu 上

    ) 3 使用要求 设备系统版本需要在Android 5.0(API 21)或以上。...无线 Scrcpy 使用adb来与设备连接。同时,adb能够通过TCP/IP连接到设备: 将您的设备和电脑连接至同一Wi-Fi。...获取设备的IP地址(在设置-关于手机-状态信息)。 打开设备的网络adb功能adb tcpip 5555。 将您的设备与电脑断开连接。...在鼠标左键松开之后,光标的任何操作都会相对于屏幕的中央进行。 具体来说, scrcpy 使用“虚拟手指”以在相对于屏幕中央相反的位置产生触摸事件。 (4)....需要版本 Android >= 7。 所有的 Ctrl+按键 的热键都是被转发到设备进行处理的,所以实际上会由当前应用程序对其做出响应。 (4).

    3.4K10

    React Native性能优化:应该做和不应该做的

    React Native默认情况下的性能没有问题的,但是在实际开发React Native的时候,我们也可能会遇到一些性能相关的问题。 这些问题很难通过组件本身修复去解决的。...这个库在iOS和上都可用并且能够有效的缓存图片 使用适当大小的图片 如果React Native APP依赖于使用大量的图像,那么优化图像对于APP的性能很重要的。...这可能会导致APP崩溃 一些可以在React Native中有效优化图片的方案包括: 使用PNG格式的图片不是JPG 使用尺寸更小的图片 使用WEBP格式的图片。...使用Hermes Hermes一个专为移动端应用优化的开源javascript引擎。React Native 0.60.4版本之后,Hermes在也可用了。...这有利于减少app的下载体积(APK)、降低内存消耗和降低APP的可交互时间 在APP中开启Hermes引擎,需要打开build.gradle并且修改如下: def enableHermes =

    4.1K30

    金九银十要来了?不要慌,这些Android BAT高级面试题刷一刷

    的app加固如何做? 的混淆原理是什么? 谈谈你对签名的理解 为什么WebView加载会慢呢? 如何优化自定义View FC(Force Close)什么时候会出现?...Android Apk V1 签名原理 说下虚拟机和java虚拟机的原理和不同点?...采用自动垃圾回收机制,请说下内存管理的原理? 开放性问题:如何设计垃圾回收算法? Android中App如何沙箱化的,为何要这么做? 一个图片在app中调用R.id后如何找到的?...Glide如何确定图片加载完毕? Glide使用什么缓存? Glide内存缓存如何控制大小?...如何绕过9.0限制? 对文件描述符怎么理解? 如何实现进程安全写文件? 结尾 学习技术一条慢长艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!

    1K00

    缩小APK,增加下载量

    Sam Tolomei 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m… 译者:tanglie1993 校对者:swants, corresponding 你的APK大小如何影响下载转化率的...被调查的印尼用户中会在安装时考虑 app 大小的人所占百分比 (Google 内部用户调查) ?...安装时会考虑 app 大小的用户这样做的原因 (Google 内部用户调查) 我们可以看到,这些市场偏好非常显著。...Building for Billions 指南, 在开发者网站上,它讨论了缩小 APK,以及其它针对新兴市场的措施。 如何针对新兴市场优化你的应用, 我们团队的另一篇 medium 文章。...Instant App 允许用户不经过安装直接使用,另一种让你的用户发现你的 app 的方式。关于开始使用 Android Instant App,你可以在这里找到更多信息。

    2.8K40

    中国安开发者的新红利?谷歌高管:AR了解一下

    如果你关注到Google在开发平台方面的最新动作,一定知晓了上周发布的AR软件工具开发包ARCore 1.0,而且与中国开发者息息相关的:中国罕见地进入了首发名单。...在京东购物中,如果消费者希望购买大件物品,比如冰箱,AR就能发挥不错的作用,它允许把冰箱“放到”实际家居环境中看一看,从大小、颜色、摆放位置,到内部构造、家庭需求,这样不仅方便消费者,一定程度上也能减少退换货...而在居然之家的合作应用中,AR不仅能对家具大小、摆放未雨绸缪,而且还能根据地板、环境和整体家装,通过全局视角帮你设置家居风格。 可能你会说:家居方面我不是针对谁,但我只爱宜家。 可以的。...而且对于市场来说,当前1亿台的数量,只占1/20。根据公开市场统计,目前全球已经有超过20亿的手机。...2018年CES上,以智能眼镜为主的AR硬件亮相。无论Google投资的Magic Leap,还是中国Rokid的AR眼镜,都让人眼前一亮。

    79040
    领券