热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

无法吐槽,canvas用法

今天有机会把自定义控件这块重新看下,特别是onDraw()这块。书名:androidUI基础教程。真的很基础……按照第10章创建自定义视图,代码敲上去,但是p209效果怎么也达不到!!!找blog

今天有机会把自定义控件这块重新看下,特别是onDraw() 这块。

书名:android UI基础教程。真的很基础……按照第10章创建自定义视图,代码敲上去,但是p209效果怎么也达不到!!!

找blog四处搜集,认真看了看,终于明白一些。

推荐这个blog:http://blog.csdn.net/yanzi1225627/article/details/8266135。canvas旋转,连带着坐标轴也跟着旋转。所以旋转后再画。画后再旋转的话已画好的不会发生变化,旋转效果没起作用。

p209页那种效果,首先注意的是,先移动坐标原点到view中心,然后旋转再画多条直线。PS:教材onDraw()这块唯一提到的闪光点是,基于视图尺寸缩放画布 使用简单的0到1浮点数绘制 不需要带有尺寸值。

canvas.scale(height, height); PS: 参数建议一致,缩放值选取偏小的(宽or高)。

PS: 这是修改后的效果如上,十字画的值可以自已设定。demo下载地址:http://download.csdn.net/detail/chencehnggq/7511663


推荐阅读
  • 本文深入探讨了Android事件分发机制的源代码,重点分析了DecorView作为Activity根布局的角色及其在事件传递中的作用。同时,详细解析了PhoneWindow在Activity窗口管理中的关键功能,以及它如何与DecorView协同工作,确保用户交互事件的高效处理。 ... [详细]
  • Android开发常见问题汇总(含Gradle解决方案)第二篇
    本文继续深入探讨Android开发中常见的问题及其解决方案,特别聚焦于Gradle相关的挑战。通过详细分析和实例演示,帮助开发者高效解决构建过程中的各种难题,提升开发效率和项目稳定性。 ... [详细]
  • 深入浅出解析HTTP协议的核心功能与应用
    前言——协议是指预先设定的通信规则,确保双方能够按照既定标准进行有效沟通,从而实现准确的信息交换。例如,驯兽师通过拍手使动物坐下,这实际上是一种预设的协议。本文将详细探讨HTTP协议的核心功能及其广泛应用,解析其在现代网络通信中的重要作用。 ... [详细]
  • Django项目中配置媒体文件路径的详细步骤与最佳实践
    在Django项目中配置媒体文件路径的详细步骤包括:首先,创建一个新的应用(如 `app02`),然后在 `settings.py` 文件中配置媒体文件的存储路径。具体来说,需要导入 `os` 模块,并使用 `os.path.join` 方法来指定媒体文件的保存目录。此外,建议在开发和生产环境中分别设置不同的媒体文件路径,以确保项目的灵活性和安全性。为了更好地管理和访问媒体文件,还可以在 `urls.py` 中添加相应的URL配置,以便在开发服务器上直接访问这些文件。 ... [详细]
  • 本文深入分析了Django框架中模型应用与非模型应用的区别与应用场景,详细对比了两者在数据处理、性能表现及开发灵活性等方面的特点。同时,文章还介绍了如何在视图函数中有效利用这些特性,结合PostgreSQL、MySQL、SQLite3和Oracle等不同数据库的配置与使用方法,为开发者提供了全面的参考指南。 ... [详细]
  • 在 CentOS 7 系统中,为了扩展根目录(/)的存储空间,本文详细介绍了从虚拟机硬盘扩容到文件系统调整的全过程。通过具体的操作步骤,成功解决了因空间不足导致的 GNOME 桌面无法正常登录的问题,为用户提供了一套完整的解决方案。 ... [详细]
  • 精选了8个免费下载学术论文的平台,旨在为研究者提供便捷的文献获取渠道。这些资源不仅有助于提升科研效率,还能促进知识的广泛传播。其中,Library Genesis 以“无版权限制的知识共享”为目标,提供了大量学术资料。其他平台还包括 JSTOR、PubMed Central、arXiv 等,各具特色,满足不同学科的需求。 ... [详细]
  • 为了应对硬件安装需求,我们对Android平板电脑进行了180度屏幕翻转处理,以确保界面在上下颠倒安装时仍能正确显示。通过深入研究Android系统的屏幕旋转机制,我们实现了屏幕内容的自动调整,从而保证了用户在任何方向下都能获得一致的视觉体验。此外,我们还优化了触摸事件的映射,确保操作流畅无误。 ... [详细]
  • 通过命令行工具 `virt-install` 配置和安装虚拟机环境。`virt-install` 是一个基于 `libvirt` 虚拟化管理库的命令行工具,用于创建新的虚拟机实例。该工具支持通过串行控制台和 SDL 图形界面进行虚拟机的安装和管理,适用于多种操作系统和虚拟化平台。 ... [详细]
  • 在即将完成的人事项目中,报表管理问题依然未能得到有效解决。尽管前端采用了MVC开发模式,但与锐浪报表系统的集成存在兼容性问题。虽然简单查询所有数据相对容易实现,但用户希望能够在报表中进行更复杂的条件查询和直接操作。为满足这一需求,我们正积极探索优化方案,以提升系统的查询效率和用户体验。 ... [详细]
  • 浏览器与服务器在网站访问过程中的数据交互分析
    本文分析了浏览器与服务器在网站访问过程中基于HTTP协议的数据交互机制。HTTP协议具有轻量级和高效通信的特点,主要通过GET、HEAD和POST方法进行数据传输。其“请求-响应”模式确保了数据交互的有序性和可靠性,同时支持多种数据格式和内容类型,为现代Web应用提供了坚实的基础。 ... [详细]
  • 在Android开发中,若需在SQLite数据库中设置包含自增ID列的复合主键,正确的做法是在创建表时明确指定主键字段及其属性。例如,在创建表时可以通过SQL语句定义复合主键,确保每个记录的唯一性。如果遇到语法不确定的情况,可以在Java代码中通过ContentValues对象插入数据,同时注意处理SQLite的异常情况,以保证数据操作的准确性与完整性。 ... [详细]
  • 本章节聚焦于《微积分B》中多元函数导数(即微分)的核心计算技术,涵盖多元复合函数的求导规则、多元隐函数的导数求解及多元隐函数系统的导数分析。首先,通过回顾一元复合函数的链式法则,逐步引入并深化对多元复合函数链导法的理解与应用。这一部分不仅强化了理论基础,还结合Python编程实践,使学习者能够熟练掌握并灵活运用这些关键的微分技巧。 ... [详细]
  • 如果你对 IntelliJ IDEA 的界面不太熟悉,可能会对如何在 Android Studio 中执行一些常见任务感到困惑。本文提供了多种开发技巧和实用窍门,帮助开发者更好地利用 Android Studio 的强大功能,包括界面导航、代码调试和项目管理等方面,使开发过程更加高效顺畅。 ... [详细]
  • AngularJS uirouter模块下的状态管理机制深入解析
    本文深入探讨了 AngularJS 中 ui-router 模块的状态管理机制。通过详细分析状态配置、状态转换和嵌套状态等核心概念,结合实际案例,帮助开发者更好地理解和应用这一强大工具,提升单页面应用的开发效率和用户体验。 ... [详细]
author-avatar
洱冬橙66_156
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有