android 代码优化 - 注解检查

使用 Lint 改进您的代码 使用注解改进代码检查 android.support.annotation 资源类注解: 注释 参数 字段 方法返回值 方法 类 描述 e.g. AnimatorRes 👌 👌 👌 ❌ ❌ 动画资源引用 android.R.animator.fade_in AnimRes 👌 👌 👌 ❌ ❌ anim资源引用 android.R.animator.fade_in AnyRes 👌 👌 👌 ❌ ❌ 任何类型的资源...

阅读全文

Android Theme 和 Style

Android 5.0 带来了新的功能,允许你为视图(以及任何后代)指定一个覆盖主题。下面介绍如何使用它以及为什么要使用它。 为什么?您可能已经在不知道的情况下使用了这个功能:Theme.Holo.Light.DarkActionBar。 考虑一下Light.DarkActionBar主题。内容是亮系的主题(背景是亮的,前景是暗的),但是动作条使用了一个暗的主题(暗背景和亮前景色)。 如果不能提供一个单独的主题,您需要手动将文本颜色和其他前景颜色设置为某种相反色。 这里就是旧的acti...

阅读全文

Java界的神器-使用Lombok来消除你的冗余代码量

简介他是一个通过注解方式来减少你的POJO类的getter和setter等方法的一个工具,我这里演示的在Android Studio中的使用方式,当然如果你使用的是idea那么这方法也通用,如果你用的是eclipse,那么官网也有视频教程,我这里就不演示了 安装依赖众所周知在在Android Studio中添加依赖有直接下载jar包和使用cradle的dependencies方法,我们这里直接使用dependencies方法 添加gradle依赖在你的项目的build.grade文件中添...

阅读全文

自定义视图(4) —— 优化视图

现在,您已经有了一个设计良好的视图,可以响应状态之间的手势和转换,确保视图运行得很快。为了避免在回放期间感觉迟钝或停滞的UI,确保动画始终以每秒60帧的速度运行。 少做事,频率少为了加快视图的速度,从经常调用的例程中删除不必要的代码。先从onDraw()开始,这将给你最大的回报。特别是您应该消除onDraw()中的分配,因为分配可能会导致垃圾收集,从而导致口吃。在初始化期间或在动画之间分配对象。当动画运行时,不要进行分配。 除了使onDraw()更精简,也要确保它被尽可能少地调用。大多...

阅读全文

自定义视图(3) —— 视图交互

绘制UI只是创建自定义视图的一部分。您还需要让您的视图以一种与您模拟的实际操作非常相似的方式对用户输入作出响应。对象应该以与实际对象相同的方式操作。例如,图像不应该立即跳出存在并重新出现在其他地方,因为现实世界中的物体不这样做。相反,图像应该从一个地方移动到另一个地方。 用户还可以在界面中感知微妙的行为或感觉,并对模仿真实世界的细微差别做出最好的反应。例如,当用户fling一个UI对象时,他们应该在开始时感觉到摩擦力,从而延迟了这个动作,然后在结束时感觉的动量,使这个动作超越了fling...

阅读全文

自定义视图(2) —— 自定义绘制

自定义视图最重要的部分是它的外观。根据您的应用程序的需要,自定义绘制可以很简单或复杂。这一课涵盖了一些最常见的操作。 覆写onDraw()绘制自定义视图最重要的步骤是覆盖onDraw())方法。onDraw()的参数是一个画布对象,视图可以使用它来绘制自己。Canvas类定义了用于绘制文本、行、位图和许多其他图形原语的方法。您可以在onDraw()中使用这些方法来创建定制的用户界面(UI)。 不过,在您调用任何绘图方法之前,需要创建一个Paint对象。下一节将更详细地讨论Paint 创...

阅读全文

自定义视图(1) —— 创建自定义视图类

一个设计良好的自定义视图与其他设计良好的类非常相似。它封装了一个特定的功能集,它使用了一个简单的接口,它有效地使用CPU和内存,等等。除了是一个设计良好的类之外,自定义视图应该是: 符合Android标准 提供与Android XML布局兼容的定制样式属性 发送访问事件 与多个Android平台兼容 Android框架提供了一组基类和XML标记,以帮助您创建满足所有这些需求的视图。本课程将讨论如何使用Android框架来创建视图类的核心功能。 子类化View在Android框架中定...

阅读全文

用户界面的最佳实践

这类教程教你如何使用Android布局为所有类型的设备建立一个用户界面。Android为UI设计提供了一个灵活的框架,让你的应用可以显示不同设备的不同布局,创建定制的UI小部件,甚至可以控制应用窗口之外的系统UI。 多屏设计如何构建一个足够灵活的用户界面,能够完美地适应任何屏幕,以及如何创建针对不同屏幕大小进行优化的不同交互模式。 支持不同的屏幕尺寸 支持不同的屏幕密度 实现自适应UI流 使用约束布局构建响应性的UI如何使用约束布局和Android Studio布局编辑器来构建布局...

阅读全文

Python多版本配置

Python易用,但用好却不易,其中比较头疼的就是包管理和Python不同版本的问题。为了解决这些问题,有不少发行版的Python,比如WinPython、Anaconda等,这些发行版将python和许多常用的package打包,方便pythoners直接使用,此外,还有virtualenv、pyenv等工具管理虚拟环境。 一般网上比较多的是使用pip + pyenv + virtualenv。开始尝试pyenv,但安装过程中遇见很多的坑,最终选择了Anaconda。 pyenv经常...

阅读全文

Spring 指南

无论您在构建什么,这些指导都是为了让您尽可能快地工作,使用Spring团队推荐的最新Spring项目发布和技术。 入门指南这些指南为在15-30分钟内完成,提供了快速、实用的指导,用于构建Spring的任何开发任务的“Hello World”。在大多数情况下,惟一的先决条件是JDK和文本编辑器。 构建RESTful Web服务 学习如何使用Spring创建一个RESTful的web服务。 使用Gradle构建Java项目 学习如何使用Gradle构建Java项目。 文件上...

阅读全文


Powered by Hexo and Hexo-theme-hiker

Copyright © 2013 - 2021 朝着牛逼的道路一路狂奔 All Rights Reserved.

访客数 : | 访问量 :