伍世谦的博客

Thinking will not overcome fear but action will.

Material Design

优美Android App都用的设计

Material Design 参考链接 Material Design概述 核心思想 ​ 所谓Material Design,即原质化设计,使用了隐喻的材料设计风格,它不在视觉上模拟特定材料,所以比较容易控制用户的期望。比如在屏幕上画出很像纸质通讯录的通讯录,然而用户期望的纸质通讯录可以翻页,可以折角,可以用笔批注,甚至有纸的触感。而一个不明材料制成的卡片,用户的期望可能只是可以...

Android新版本特性

Android 5.0-9.0的特性

Android 5.0 ​ Android 5.0 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更。 Material Design ​ Material Design是一种平面化的创新。这种新的视觉语言,在基本元素的处理上,借鉴了传统的印刷设计,字体版式、网格系统、空间、比例、配色、图像使用等这些基础的平面设计规范。另外他还利用实体的表面与边缘的质感打造出视...

注解与依赖注入框架

Android开发中常用到的知识

注解 什么是注解 Java文档中的定义: ​ An annotation is a form of metadata, that can be added to Java source code. Classes, methods, variables, parameters and packages may be annotated. Annotations have no dire...

Gradle基础学习

Android项目构建工具

Gradle基础学习 简介 gradle 是一个自动化构建工具 gradle 脚本使用了 groovy 或者 kotlin DSL gradle 基于 groovy 编写,而 groovy 是基于 jvm 语言 settings.gradle ​ settings.gradle 是负责配置项目的脚本 ​ 对应 Settings 类,gradle 构建过程中,会根据 ...

网络编程 上过了计算机网络的课程,总结一下学过的知识。 网络分层 计算机网络体系结构一般采用五层协议。 1.物理层 2.数据链路层 3.网络层 4.传输层 5.应用层 分层 说明 应用层(HTTP、FTP、DNS、SMTP 等) 定义了如何包装和解析数据,应用层是 http 协议的话,...

多线程编程

Android上的多线程编程

多线程编程 Android沿用的是java的线程模型。 线程基础 进程与线程 线程是最小的执行单元,而进程由至少一个线程组成。如何调度进程和线程,完全由操作系统决定,程序自己不能决定什么时候执行,执行多长时间。 为何要使用多线程编程 减少程序响应时间 与进程相比,线程创建和切换开销更小,多线程在数据共享方面效率非常高 多核计算机本身就具备执行多线程的能力 简化程...

主流第三方库的使用方法

RxJava、Retrofit、Okhttp、EventBus、Dagger、Butter Knife

主流第三方库的使用方法 Android开发中必用到许多第三方开源库,开源库设计好,能大量减少工作量,但也要酌情使用。 文本主要写主流第三方库的简单配置和使用方法。 Butter knife 加入到项目的方法 Gradle项目 implementation 'com.jakewharton:butterknife:7.0.1' 另外,还需要下面两个配置: //支持lint w...

Android动画机制与使用技巧 《Android群英传》第七章读书笔记 View动画 (视图动画) 视图动画(Animation)框架定义了透明度(AlphaAnimation)、旋转(RotateAnimation)、缩放(ScaleAnimation)和位移(TranslateAnimation)几种常见的动画,控制的是View的内容,所以视图动画的缺陷就在于当某个元素发生视图动...

自定义view之图片裁剪

android自定义控件

自定义view之图片裁剪 参考了github上一个封装好的裁剪库cropper,不过因为github这个裁剪库比较大,而且提供的功能好多都用不到,在研究完其实现的基本思路之后,修改了一下,满足了项目裁剪的要求。 <img src=”https://ws2.sinaimg.cn/large/006tNbRwgy1fw31a4sq38j30g80wawvz.jpg” width = “...

自定义可旋转、平移、缩放的ImageView

android自定义控件

自定义可旋转、平移、缩放的ImageView 实现原理概览 我们要实现手指控制图片的平移、旋转、缩放,首先得知道手指做了什么动作,比如用户两指间距离是变大还是变小,两指是否做了移动,只有获取到了用户的手势才可以根据手势执行相应了变换,这部分内容下文的多点触控原理与获取触摸事件两部分会进行介绍。获取到手势后我们就可以通过Matrix对图片进行相应的变换了。 Matrix原理 如果没有通...