- 自从Android5.0开始Google官方提供了一个全新的侧滑菜单控件叫做NavigationView,用法较之前简单多了。效果图如下: 1. 布局文件 侧滑菜单 <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/... 自从Android5.0开始Google官方提供了一个全新的侧滑菜单控件叫做NavigationView,用法较之前简单多了。效果图如下: 1. 布局文件 侧滑菜单 <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/...
- 我记得之前Android4.0的时候是actionBar,到了Android5.0以后google新出了ToolBar用以弥补ActionBar的不足。今天我们就来讲一下 ToolBar的用法。其实现在Android系统的UI设计有些已经超越了IOS... 一、基本用法 1. 我们新建立一个工程; 2. 然后找到values---styles.xml修改其中的AppTh... 我记得之前Android4.0的时候是actionBar,到了Android5.0以后google新出了ToolBar用以弥补ActionBar的不足。今天我们就来讲一下 ToolBar的用法。其实现在Android系统的UI设计有些已经超越了IOS... 一、基本用法 1. 我们新建立一个工程; 2. 然后找到values---styles.xml修改其中的AppTh...
- 我们在前面几篇文章中曾经讲到过behavior,如Android高级进阶(十九)监听列表的滑动从而隐藏或显示Toolbar与Fab浮动按钮.在这篇文章里我们为FloatingButton配置了一个FloatingButtonBehavior,用来监听CoordinatorLayout根布局发过来的"RecyclerView的滑动事件",从而根据Recycle... 我们在前面几篇文章中曾经讲到过behavior,如Android高级进阶(十九)监听列表的滑动从而隐藏或显示Toolbar与Fab浮动按钮.在这篇文章里我们为FloatingButton配置了一个FloatingButtonBehavior,用来监听CoordinatorLayout根布局发过来的"RecyclerView的滑动事件",从而根据Recycle...
- Listview的下拉刷新,上拉加载我们常用的框架是pullToRefresh。今天我们来介绍RecyclerView如何实现下拉刷新,上拉加载。 源码下载: 源码 1. 下拉刷新 实现思路,无需我们写代码自定义下拉刷新控件,直接使用MaterialDesign5.0为我们提供的SwipeRefreshLayout控件。 布局一般为: <android.supp... Listview的下拉刷新,上拉加载我们常用的框架是pullToRefresh。今天我们来介绍RecyclerView如何实现下拉刷新,上拉加载。 源码下载: 源码 1. 下拉刷新 实现思路,无需我们写代码自定义下拉刷新控件,直接使用MaterialDesign5.0为我们提供的SwipeRefreshLayout控件。 布局一般为: <android.supp...
- 今天我们用Paint,Canvas在自定义View中绘制一个圆环,点击圆环后自动在圆环上绘制弧形进度,示意图如下:1. 我们先看一下页面布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" an... 今天我们用Paint,Canvas在自定义View中绘制一个圆环,点击圆环后自动在圆环上绘制弧形进度,示意图如下:1. 我们先看一下页面布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" an...
- android View绘制流程分为3个步骤:分别是measure、 layout、 draw 。今天我们先来探究一下measure的过程。在上一节android开发笔记(三十四)中,我们研究了DecorView绘制到PhoneWindow上的流程,也就是View绘制的概况性流程(DecorView extends View), 我们回顾一下那个流程图:... android View绘制流程分为3个步骤:分别是measure、 layout、 draw 。今天我们先来探究一下measure的过程。在上一节android开发笔记(三十四)中,我们研究了DecorView绘制到PhoneWindow上的流程,也就是View绘制的概况性流程(DecorView extends View), 我们回顾一下那个流程图:...
- 上一篇我们讲了自定义behavior监听控件的状态变化:例如垂直方向位移的变化。今天我们要谈的是如何监听控件的滑动事件。就是说当布局文件里有一个可滑动的控件(如RecyclerView、NestedScrollView、Viewpager页面里的NestedScrollView)滑动时,我们自定义的behavior可以帮观察者监听到该类事件,同时做相应的处理。我们还是从布局文... 上一篇我们讲了自定义behavior监听控件的状态变化:例如垂直方向位移的变化。今天我们要谈的是如何监听控件的滑动事件。就是说当布局文件里有一个可滑动的控件(如RecyclerView、NestedScrollView、Viewpager页面里的NestedScrollView)滑动时,我们自定义的behavior可以帮观察者监听到该类事件,同时做相应的处理。我们还是从布局文...
- 在上一篇文章里我们介绍了属性动画的基础知识,今天我们综合运用属性动画的知识来完成一个动画案例。首先,看一下这个动画效果: 源码下载地址:https://download.csdn.net/download/gaoxiaoweiandy/11085552 1. 分析这个动画案例 第一个动画(浏览大师的动画)是:当点击顶部“大师”按钮时触发的,浏览大师的整个布局(包括... 在上一篇文章里我们介绍了属性动画的基础知识,今天我们综合运用属性动画的知识来完成一个动画案例。首先,看一下这个动画效果: 源码下载地址:https://download.csdn.net/download/gaoxiaoweiandy/11085552 1. 分析这个动画案例 第一个动画(浏览大师的动画)是:当点击顶部“大师”按钮时触发的,浏览大师的整个布局(包括...
- 周末好, 今天我们来讲一个动画效果的实现,当上滑列表时让Toolbar(工具栏)与FAB浮动按钮(实质还是一个按钮)隐藏,当下滑时又显示回来。实现这个动画有两种方法,今天我们先讲第一种最常规的做法,其实第二种方法才是正道,它更符合Google Material Design的规范,敬请期待下一篇Android高级进阶(十九),但是我们今天还是要执意讲解第一种方... 周末好, 今天我们来讲一个动画效果的实现,当上滑列表时让Toolbar(工具栏)与FAB浮动按钮(实质还是一个按钮)隐藏,当下滑时又显示回来。实现这个动画有两种方法,今天我们先讲第一种最常规的做法,其实第二种方法才是正道,它更符合Google Material Design的规范,敬请期待下一篇Android高级进阶(十九),但是我们今天还是要执意讲解第一种方...
- 五一还过的快乐吗,是不是收假第一天感觉好累。今天为大家讲一下VIEW的事件分发过程,来激活大家想要提高技术水平的欲望,这样也许就不累了吧。虽然网上有很多关于事件分发的文章,大多数思路都不是那么顺。我们做任何事情都应该从最简单的部分做起,从最简单的事情倒推其原理与过程,一步一步拼接成复杂的整体。那好,就让我们从最简单的Button点击事件说起(示例源码:http... 五一还过的快乐吗,是不是收假第一天感觉好累。今天为大家讲一下VIEW的事件分发过程,来激活大家想要提高技术水平的欲望,这样也许就不累了吧。虽然网上有很多关于事件分发的文章,大多数思路都不是那么顺。我们做任何事情都应该从最简单的部分做起,从最简单的事情倒推其原理与过程,一步一步拼接成复杂的整体。那好,就让我们从最简单的Button点击事件说起(示例源码:http...
- 自动Android5.0的Material design设计规范推出之后,新增了许多设计比较好的控件,如CardView,浮动按钮等。这些控件来自于com.android.support:design包中。今天我们主要讲布局界面及展示效果,无需额外编写程序代码。 1. CardView在布局中的运用: <LinearLayout xmlns:android="http... 自动Android5.0的Material design设计规范推出之后,新增了许多设计比较好的控件,如CardView,浮动按钮等。这些控件来自于com.android.support:design包中。今天我们主要讲布局界面及展示效果,无需额外编写程序代码。 1. CardView在布局中的运用: <LinearLayout xmlns:android="http...
- 上一篇已经讲了让系统控件如Imageview识别自定义属性的方法一: 自定义LinearLayout,在addview的时候,给每一个系统控件外层再包裹一个自定义VIEWGROUP,然后这个VIEWGROUP来识别自定义属性并执行动画。今天我们讲第二种方法,与第一种方法有点雷同,就是在解析XML中的系统控件时,解析出属性及属性值,把这个控件如Imageview上的自定义属性解... 上一篇已经讲了让系统控件如Imageview识别自定义属性的方法一: 自定义LinearLayout,在addview的时候,给每一个系统控件外层再包裹一个自定义VIEWGROUP,然后这个VIEWGROUP来识别自定义属性并执行动画。今天我们讲第二种方法,与第一种方法有点雷同,就是在解析XML中的系统控件时,解析出属性及属性值,把这个控件如Imageview上的自定义属性解...
- 昨天刷抖音的时候,被一个在路灯下诵读《战国策》、《尚书》、《左转》的流浪汉感动。 今天为了致敬大师,以大师的图片作为素材来演示一下Android中的属性动画。 Android的动画分为补间动画、帧动画、属性动画。(本文中的实例工程下载地址:https://download.csdn.net/download/gaoxiaoweiandy/11033672) 补间动画... 昨天刷抖音的时候,被一个在路灯下诵读《战国策》、《尚书》、《左转》的流浪汉感动。 今天为了致敬大师,以大师的图片作为素材来演示一下Android中的属性动画。 Android的动画分为补间动画、帧动画、属性动画。(本文中的实例工程下载地址:https://download.csdn.net/download/gaoxiaoweiandy/11033672) 补间动画...
- RecyclerView控件还有一个非常方便的功能,就是可以动态改变RecyclerView控件的展示风格,即在列表与网格Grid布局之间自由切换,先上效果图《飞虎队剧照》: 一、核心代码如下: 1. MainActivity.java package com.anyikang.volunteer.sos.recyclerview; import and... RecyclerView控件还有一个非常方便的功能,就是可以动态改变RecyclerView控件的展示风格,即在列表与网格Grid布局之间自由切换,先上效果图《飞虎队剧照》: 一、核心代码如下: 1. MainActivity.java package com.anyikang.volunteer.sos.recyclerview; import and...
- 因为自己的项目中有用到了蓝牙相关的功能,所以之前也断断续续地针对蓝牙通信尤其是BLE通信进行了一番探索,整理出了一个开源框架FastBle与各位分享经验。 源码地址: https://github.com/Jasonchenlijian/FastBle 随着对FastBle框架关注的人越来越多,与我讨论问题的小伙伴也多起来,所以整理了一篇文章,详细介绍一下框架的... 因为自己的项目中有用到了蓝牙相关的功能,所以之前也断断续续地针对蓝牙通信尤其是BLE通信进行了一番探索,整理出了一个开源框架FastBle与各位分享经验。 源码地址: https://github.com/Jasonchenlijian/FastBle 随着对FastBle框架关注的人越来越多,与我讨论问题的小伙伴也多起来,所以整理了一篇文章,详细介绍一下框架的...
上滑加载中