4 ZHU_文涛

尚未进行身份认证

我的指间,有改变世界的力量!

等级
TA的排名 1w+

Android 跨进程通信(IPC)机制的探索与研究

概述Android中IPC机制的由来Android中的跨进程场景进程间通信的影响跨进程通信方式文件共享BundleAIDL(1)创建AIDL接口(2)根据AIDL创建远程Service服务(3)绑定远程Service服务Messenger(1)创建服务端Messenger(2)创建客户端Messenger(3)绑定远程服务端ContentProvider...

2018-04-11 10:26:47

Android 自定义View一个控件搞定多种水波纹涟漪扩散效果

效果图实现思路这个效果实现起来并不难,重要的是思路此View满足了多种水波纹涟漪扩散效果,这要求它能满足很多的变化根据上面的样式,可以看出此View需要满足以下变化圆圈从中心可循环向外扩散圆圈之间的扩散间距可以改变可控制扩散圆的渐变度圆圈可以是线条样式或者实心样式圆圈扩散的速度可以控制适配圆圈不同大小下的扩散效果具体实现创建自定义属性首...

2018-03-19 10:16:19

Android 使用jQuery实现item点击显示或隐藏的特效

效果图 分析上图中的功能在很多APP上都可能用到过,例如app的帮助界面,告诉用户如何使用APP一般的实现方式都是通过ListView来实现的,实际上此类需求非常简单,完全可以用WebView加载HTML来实现抽屉样式的显示隐藏特效可以使用jQuery来实现,一个函数就可以搞定实现集成jQuery网页中需要使用到jQuery,最新版本可以去官网下载 ...

2018-03-05 10:37:09

Android 自定义View之八等份仪表盘

效果图实现思路首先拆解这个View,可以分成四个部分来绘制外圆刻度部分,包含最外面的刻度圆和里面对应的数值,此外圆分为八个等份,每等份中包含五个小等份,所以总共需要40个刻度。这里不是一个完整的圆,此外圆部分占一个完整圆的240度内圆刻度部分,此处总共有100个刻度,与外圆刻度保持着对应关系,进度发生改变时需要改变对应部分的颜色,超过外圆刻度6部分的颜色需要变成红色指针部分,指针由一个中间的圆

2017-08-31 11:41:29

Android 自定义View之仿华为圆形加载进度条

效果图实现思路可以看出该View可分为三个部分来实现最外围的圆,该部分需要区分进度圆和底部的刻度圆,进度部分的刻度需要和底色刻度区分开来中间显示的文字进度,需要让文字在View中居中显示旋转的小圆点,小圆点需要模拟小球下落运动时的加速度效果,开始下落的时候慢,到最底部时最快,上来时速度再逐渐减慢具体实现先具体细分讲解,博客最后面给出全部源码(1)首先为View创建自定义的xml属性 在工程

2017-08-25 09:54:14

Android Retrofit报错NoClassDefFoundError异常

使用Retrofit 2时踩了个坑,自己封装的Retrofit工具在4.4的手机上跑崩了,测试了下机型,发现在Android 5.x以上的手机就不会出现这样的情况,而在Android 4.x手机上这个问题是必现的错误信息java.lang.NoClassDefFoundError: retrofit2.Retrofit$Builder一看到这个错误信息,马上联想到是否是类缺失了,但

2017-08-18 14:49:47

Android 汉字转拼音的多种实现方式

汉字转拼音是我们在开发中经常会使用到的功能,比如在进行汉字排序、拼音检索时就需要将汉字转成拼音 这里介绍几个常用的处理方法pinyin4jjpinyinASCII码映射TinyPinyin需要测试生僻字的可以用以下链接中的文字 http://xh.5156edu.com/page/z4745m2559j18770.html一、使用pinyin4j开源库使用此方法需要添加依赖jar包

2017-08-14 09:39:14

Android 使GridView横向水平滚动的实现方式

Android为我们提供了竖直方向的滚动控件GridView,但如果我们想让它水平滚动起来,就需要自己实现了。一、单行横向显示gif实现思路在代码中动态设置GridView的NumColumns,使其等于GridView要显示的数据集合大小。动态设置item项宽度,结合数据集合大小来设置GridView的总宽度。使用HorizontalScrollView包裹Grid

2017-05-02 10:52:04

Retrofit2使用案例及源码解析

Retrofit2是一个基于OkHttp进行封装的网络请求框架,Retrofit中使用了大量的@GET、@POST这类注解方法,刚开始学习的时候会感觉特别的不适应,但只要理解了这些注解方法和使用逻辑,会发现网络请求也可以做的很优雅一、案例 先写一个简单的程序跑起来,再详细讲解 首先添加依赖compile 'com.squareup.retrofit2:retrofit:2.1.0'

2016-12-27 22:27:12

Android View绘制三大流程探索及常见问题

View绘制的三大流程,指的是measure(测量)、layout(布局)、draw(绘制) measure负责确定View的测量宽/高,也就是该View需要占用屏幕的大小,确定完View需要占用的屏幕大小后,就会通过layout确定View的最终宽/高和四个顶点在手机界面上的位置,等通过measure和layout过程确定了View的宽高和要显示的位置后,就会执行draw绘制View的内容到手机

2016-12-20 16:14:35

Android 新安全机制之动态权限申请

Android6.0的SDK,对权限的申请机制发生了一些变化。 在Android6.0之前,用户安装APP时就要为其授予对应的权限,不然程序就无法安装,而6.0之后,我们可以直接安装,并可对应用的权限进行管理,这样极大的保护了用户的隐私,但也给我们开发人员造成了些小麻烦(测试人员经常提单反映说某个功能未实现,其实是把权限关闭造成的)Google将应用的权限分为两类Normal Perm

2016-12-05 23:07:40

Toast使用小技巧-防止重复创建

Toast是我们在Android开发中经常被使用到的 我们在创建Toast时,都是这么写:Toast.makeText(context, "message", Toast.LENGTH_SHORT).show();一般来说这样写是没有问题的,但是当用户多次连续触发Toast时,这样写的缺点就体现出来了: 多个Toast会排队等待显示,这样的用户体验非常差 不只是重复显示的问题,每调用一次mak

2016-11-09 16:43:14

Android 实现WebView与JavaScript的互相调用

很多复杂的UI界面,在Android中需要配合大量xml代码和java代码实现,而使用HTML5可以非常轻松的实现出来,而且具有很好的跨平台特性,让我们不必为了多个平台而重写代码,H5学习成本也较低,上手快。虽然从目前来说H5在Android系统中的速度可能还欠佳一些,但相信随着手机的性能不断的提高,这些问题都会被解决使用H5开发Android的UI界面,最重要的就是如何实现Js代码和Java代码之

2016-11-03 12:32:12

实现炫酷的获取本地图片和相机拍照图片-自定义组件

IOS中有封装好的选择图片后长按出现动画删除效果,效果如下 而Android找了很久都没有找到有这样效果的第三方组件,最后懒得找了还是自己实现这效果吧选择图片后还可对图片进行可以剪裁 当然,代码中还有很多不完善的地方,我接下来会继续完善这个组件的 已经上传到开源社区,欢迎大家来Star啊~Demo源码:传送门设计中的碰到的一些问题和解决思路1.如何让加号图片显示在GridView最后面首先

2016-09-08 23:44:20

Android 使用CoordinatorLayout实现滚动标题栏效果

在Material Design里,CoordinatorLayout通常用来作为顶层视图,来协调处理各个子View之间的动作,从而实现各种动画效果,如Snackbar与FloatingActionButton的配合显示效果,就是以CoordinatorLayout作为根布局来实现的CoordinatorLayout提供Behaviors接口,子View通过实现Behaviors接口来协调和其它Vi

2016-09-05 22:39:07

Android 坐标系与视图坐标系图解

1.Android坐标系在Android中,将屏幕的最左上角顶点作为Android坐标系的原点 从原点向右是X轴的正方向,从原点向下是Y轴的正方向View提供了getLocationOnScreen( int[] location)方法来获取在整个屏幕内的绝对坐标,该坐标值为View左上角的坐标。注意该View的坐标值是从屏幕左上角开始获取的,所以也包括了通知栏的高度 该方法的具体实现

2016-09-04 21:34:10

Android ListView监听滑动事件的方法

ListView的主要有两种滑动事件监听方法,OnTouchListener和OnScrollListener1.OnTouchListenerOnTouchListener方法来自View中的监听事件,可以在监听三个Action事件发生时通过MotionEvent的getX()方法或getY()方法获取到当前触摸的坐标值,来对用户的滑动方向进行判断,并可在不同的Action状态中做出相应的处理

2016-09-03 23:39:42

Android FloatingActionButton使用方法及小技巧-design

FloatingActionButton(简称FAB)的使用方法非常的简单和一个普通控件一样,在xml布局文件中定义(记得导入Design包) <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content"

2016-08-30 23:02:38

Android 图片Drawable类型之Level List

Level List类型的图形用来管理一组可进行切换的图片 系统会根据level值来自动匹配对应的图片,如手机wifi的信号强度图标,电量剩余图标,就是通过Level List类型来显示的 语法: <?xml version="1.0" encoding="utf-8"?> <level-list xmlns:android="http://schemas.andr

2016-08-28 21:21:55

Android 图片Drawable类型之State List

状态列表图形,根据不同的状态呈现不同的显示效果,如点击Button时,不同状态下显示不同的背景图片,这是我们常用的一种Drawable类型语法: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" andro

2016-08-27 22:20:34

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!