Android 视图转换是否在光栅化后应用?

2024-01-07

下面代码中的行 (A) 和行 (B) 应生成相同的图像。

然而,行 (A) 却生成了图像:

怎么了?光栅化后是否应用视图/画布转换?

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.RectF;
import android.view.View;
import android.graphics.Matrix;

public class MyView extends View {
    Paint paint = new Paint();

    public MyView(Context c) {
        super(c);
        // this.setLayerType(View.LAYER_TYPE_SOFTWARE, null); // (C)
    }

    Rect canvasRect   = new Rect();
    RectF canvasRectf = new RectF();
    RectF scene = new RectF();
    Matrix M = new Matrix();

    @Override
    protected void onDraw(Canvas canvas) {
        getDrawingRect(canvasRect);
        canvasRectf.set(canvasRect);

        scene.set(0,0, 100,100); // (A)
        // scene.set(0,0, 500,500); // (B)

        M.setRectToRect(scene, canvasRectf, Matrix.ScaleToFit.CENTER);
        canvas.setMatrix(M);

        canvas.drawCircle( 50, 50, 1, paint); // (A)
        // canvas.drawCircle(250,250, 5, paint); // (B)
    }
}

Update:如果 (C) 行未注释,则不会出现问题(谢谢,亨利)。使用硬件加速时是否可以获取第一张图像?


仅当启用硬件加速时,我才能在 Android 4.1.2 上重现该问题。这可能是一个错误吗?

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

Android 视图转换是否在光栅化后应用? 的相关文章

  • 如何在android中点击画布上绘制的圆圈?

    我正在开发一个人脸检测应用程序 在这个应用程序中 我必须在脸上的眼睛和嘴巴用户可以点击拖动圆圈 在检测到的人脸上根据自己设置位置 因此 所有圆圈都已成功绘制在脸上 但我无法单击特定圆圈并使用缩小选项在整个脸上移动 请建议我有关相同问题的正确
  • 更改操作栏标题文本颜色

    我正在尝试更改 ActionBar 中标题文本的颜色 但我似乎无法让它工作 这是我尝试使用的风格 在我的应用程序主题中我使用titleTextStyle
  • 服务在后台运行?

    我正在构建的应用程序的功能之一是记录功能 我通过在服务中启动 MediaRecorder 对象来实现此目的 Intent intent new Intent v getContext RecordService class Messenge
  • 如何使用 (a)smack 在 Android 上保持 XMPP 连接稳定?

    我使用适用于 Android 的 asmack android 7 beem 库 我有一个后台服务正在运行 例如我的应用程序保持活动状态 但 XMPP 连接迟早会在没有任何通知的情况下消失 服务器表示客户端仍然在线 但没有发送或接收数据包
  • Android Studio磁盘空间不足如何解决?

    我随机收到此错误 并且不确定为什么 Android Studio 的磁盘空间变低 Android Studio 系统目录分区磁盘空间不足 Update 此应用程序安装在运行 10 10 1 的 Mac 上 具有 251GB 内部存储和占用
  • Android 上通过 JSCH 的基本 SSH 连接

    作为来自此的用户question https stackoverflow com questions 14323661 simple ssh connect with jsch和这个tutorial http eridem net andr
  • 如何在 android-studio 0.3.6 中运行 Gradle 1.9?

    我只是花了一些时间尝试将现有的 android studio 项目从 gradle 1 8 迁移到 gradle 1 9 Final 昨天发布 但失败了19th Nov 我在这里阅读了大多数其他与 gradle 相关的帖子 但没有一个对我有
  • 注销时Firebase facebook按钮android身份验证

    我在我的 Android 应用程序中使用 firebase 并在 facebook SDK 中使用登录 我面临的唯一问题是 当我使用 facebook 登录然后注销时 facebook 登录按钮处于 注销 状态 当我单击它时 它会询问我是否
  • 安卓;在 AdapterViewFlipper 上设置输入/输出动画:未知的动画师名称翻译

    我有一些非常简单的动画 可以与 ViewFlipper 完美配合 但如果我尝试在 AdapterViewFlipper 输入 输出上设置它们 我会收到运行时错误 未知的动画师名称翻译 查看每个方法的相应方法 看起来 ViewFlipper
  • Android 在创建时出现 SQLiteException

    首先我想说我是android新手 所以如果这个问题太愚蠢我很抱歉 我正在为带有两个表的 SQLite 数据库编写一个内容提供程序 表格上是在导航抽屉活动中显示列表 第二个表格是在 ListFragment 中显示 每次启动应用程序时 我都会
  • 如何在不改变的情况下将字符串转换为字节?

    我需要一个解决方案将字符串转换为字节数组而不需要像这样进行更改 Input String s Test Output String s Test byte b Test 当我使用 s getBytes 那么回复是 B 428b76b8 但我
  • MAT(Eclipse 内存分析器)- 如何从内存转储中查看位图

    I m analyzing memory usage of my Android app with help of Eclipse Memory Analyzer http www eclipse org mat also known as
  • BluetoothLeScanner 服务内部问题

    Update从Android 10以上我认为你需要ACCESS BACKGROUND LOCATION权限 因此 如果此代码在最新的 Android 版本上不起作用 就是针对此问题的 ACCESS BACKGROUND LOCATION 受
  • 如果联系人与电话通讯录中的应用程序关联,则显示应用程序图标

    我正在尝试显示与该应用程序关联的电话号码的应用程序图标 我试着跟随this http www c99 org 2010 01 23 writing an android sync provider part 1 链接但是太难了 有没有任何库
  • onTouch 给出奇怪的触摸点 Android

    我正在做的事情非常简单 我以前做过 但现在它没有按我的预期运行 无论如何 让我简要解释一下我正在尝试做什么以及我得到了什么 设想 我有一个RelativeLayout其中一个ImageView已放置 现在我设置touchlistener像这
  • 协程和 Firebase:如何实现类似 Javascript 的 Promise.all()

    在 Javascript 中 您可以同时启动两个 或更多 异步任务 等待它们完成 然后执行某些操作 继续 const firstReturn secondReturn await Promise all firstPromise secon
  • 如何使用asynctask显示倒计时的进度条?

    在我的应用程序中 我希望用户按下按钮 然后等待 5 分钟 我知道这听起来很糟糕 但就这样吧 5 分钟等待期间的剩余时间应显示在进度条中 我使用带有文本视图的 CountDownTimer 来倒计时 但我的老板想要看起来更好的东西 这就是进度
  • 从 AlertDialog 返回值

    我想构建一个函数来创建 AlertDialog 并返回用户输入的字符串 这是我用于创建对话框的函数 如何返回该值 String m Text private String openDialog String title AlertDialo
  • Exif 方向标签返回 0

    我正在开发一个自定义相机应用程序 我面临以下问题 当我尝试使用检索方向时ExifInterface 它总是返回 0 ORIENTATION UNDEFINED 这使我无法将图像旋转到正确的状态 从而无法正确显示 我使用示例代码来设置相机旋转
  • RecyclerView元素更新+异步网络调用

    我有一个按预期工作的回收视图 我的布局中有一个按钮可以填充列表 该按钮应该进行异步调用 根据结果 我更改按钮的外观 这一切都发生得很好 但是 当我单击按钮并快速向下滚动列表时 异步调用的结果会更新新视图的按钮 代替旧视图的视图 我该如何处理

随机推荐

  • 在 Matlab 中设置图例的标题

    下面的代码是最最小 完整且可验证的示例 https stackoverflow com help mcve我能找到的 我的真实情况要复杂得多 x 1 0 1 10 y sin x subplot 211 plot x y leg att l
  • 玩转框架+SLICK(Scalaquery)教程

    有人知道使用 Play 框架和 SLICK ScalaQuery 的好教程或示例项目 github 吗 我正在努力让他们一起工作 我收到此错误 info play Application started Dev error applicat
  • YUI3中如何计算元素的宽度和高度?

    jQuery 有方便的 height 和 width 实用程序来计算 DOM 元素的显示大小 它还具有 position 来获取坐标 在YUI3节点 http developer yahoo com yui 3 api Node html
  • ggplot2:使用scale_colour_brewer()并手动指定图例名称/条目标签

    我想用scale colour brewer and scale fill brewer 通过 Brewer 调色板指定填充或颜色 diagram lt diagram scale colour brewer scale fill brew
  • 更新 WPF Desktop Bridge Universal 应用程序时无法升级设置

    我的应用程序是用 WPF C 编写的 我直接从 Visual Studio 使用 MSIX 应用程序项目将其导出为通用应用程序 我只是无法让设置在更新之间保持不变 我在中使用以下代码MainWindow Loaded event Setti
  • 为什么 AngularJS 应用程序中的空白被忽略

    AngularJS 应用 ng model 指令将输入字段绑定到控制器属性 在我的应用程序中 带空格的输入将被忽略 例如 A 结果输出是 A 有没有办法也包含这些空白 Fiddled here http jsfiddle net pa6sd
  • 确保 Web 服务安全

    我正在完成我的 iPhone 应用程序 我只是担心我们的网络服务器级别的安全性 数据通过网络服务被转移到 iPhone 应用程序 我可以在 Web 服务上采取哪些安全措施 以免受到攻击 Thanks 一些提示 使用以下命令验证来自 Web
  • 在 OSX 中拦截键盘输入

    我正在尝试编写一个应用程序来防止某些关键信号传播到 OSX 中的操作系统之外 为了澄清这一点 我想让用户感觉他们在键盘上按的键似乎坏了 因此 关联的字母不会显示在文本区域中 按键不会激活另一个应用程序中的功能 等等 有什么想法吗 提前致谢
  • 使用 SQL 查询打印素数的最佳逻辑 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在 MongoDB MySQL CockroachDB 中通过 SQL 获取 2 到 1000 素数的最有效方法是什么 我在Oracle中的查询
  • TXMLDocument 的替代方案?

    最近 我们将代码从 Delphi 2009 升级到 Delphi XE 并更新了我们的 Indy 组件 不确定这是否相关 但从那时起 我们在 Windows Server 2003 计算机上加载和保存 XML 文件时就会出现错误 XMLDo
  • 你可以有多个 UnityAppController 的子类吗?

    我需要添加一些代码application didFinishLaunchingWithOptions in UnityAppController使用其 Objective C SDK 配置 Google AdWords 转化跟踪 每次 Un
  • Objective C JAVA 字节序

    我使用的是 64 位 Mac 并且我确信 Java 在我的例子中是 1 6 正在使用 big endian 我正在尝试从 Objective C 中的 iPhone 与我的 java 服务器进行通信 iPhone objective C 使
  • 在我的 Android 项目中使用领域数据库时无法生成 GlideApp 和 Glide 请求

    我使用 Glide 来处理图像 到目前为止它运行良好 但是现在 当我将 Realm 数据库集成到我的项目中时 它在生成 GlideApp 和 GlideRequests 类时出现错误 主要构建 gradle buildscript repo
  • GIF 图像在“document.location.href”时停止

    我在 javascript 中有这个函数 function loadPage url showLoadPageGif visibility On document location href getPath url 当我使用此功能时 GIF
  • 如何从 Knex / Postgresql 查询返回纯值?

    我正在尝试使用 Knex 从 Postgres DB 返回一个简单的标量字符串值 到目前为止 我所做的一切都会返回一个带有键 列名 和值的 JSON 对象 因此我必须访问该对象才能获取值 如果我返回多行 那么我会得到多个 JSON 对象 每
  • Python 动态属性和 mypy

    我试图将一些函数屏蔽为属性 通过包装器 这在这里并不重要 并将它们动态添加到对象中 但是 我需要代码完成和 mypy 才能工作 我想出了如何动态添加属性 通过元类或简单地在构造函数中 但我遇到的问题是 mypy 没有选择它 IDE 也没有
  • 如何从android将值传递到php?

    我在将值从 android 传递到 php 脚本时遇到问题 我想要questionid传递到 php 脚本url get ansurl但我无法传递该值 这个怎么做 请指导我 多谢 try int success json getInt TA
  • 自定义 UIAlertView 上的按钮

    这是我自定义按钮的当前方式 UIAlertView av UIAlertView alloc init av addButtonWithTitle UIButton yesButton av subviews lastObject av s
  • 使用 htaccess 将网站重定向到移动版网站

    您好 我使用以下代码重定向到移动网站 从移动到移动网站 移动中的domain com到m domain com 它工作正常 但网址末尾的 id 9 即将到来 如何删除 id 9 从 url 以及如何将移动网站 m domain com 从桌
  • Android 视图转换是否在光栅化后应用?

    下面代码中的行 A 和行 B 应生成相同的图像 然而 行 A 却生成了图像 怎么了 光栅化后是否应用视图 画布转换 import android content Context import android graphics Canvas