Android进阶等级二
文章平均质量分 94
壹叁零壹
这个作者很懒,什么都没留下…
展开
-
Android自定义控件 ----- 基本绘制流程,简单控件的实现
一、自定义控件(一) --- 自定义属性TextView1,定义属性,制作attrs.xml文件; 属性值:string,color,attr,array,bool,declare-styleable,dimen,drawable,eat-comment,fraction,integer,integer-array,item,plurals,string-原创 2016-07-18 10:11:38 · 9414 阅读 · 0 评论 -
Banner展示手动滑动、自动播放
一、需求在一个页面顶部展示多图,横向轮播,也即是通俗意义的Banner。需求细节解析:1,同一个位置,展示不同的内容,包含展示图片、标题、内容描述【内容切换】;2,因为同一个位置展示,需要有标示,告知用户当前所在的位置;【位置标识】;3,便于内容的全部展示且不拒绝用户的主动操作,需要自动轮播与手动滑动处理相结合;【手动自动】;4,当前位置内容可变,需要兼容多种模式【特值处理】;原创 2017-04-21 14:11:18 · 2271 阅读 · 0 评论 -
多文本折叠与展开
TextView对于文字的显示及特殊处理,基本包含了绝大部分的功能。随着市场应用的拓宽,需求的不断变化,还是需要做一些适应性变化。这里,文本内容显示有点“小需求”:折叠显示与展开。一、需求1,内容在超过指定行数时,折叠展示,并显示可展开按钮;--------细节:当内容不够长时,全显示且展开按钮不展示;2,点击展开按钮,内容缓慢展开;--------内容原创 2017-04-21 14:46:40 · 2292 阅读 · 0 评论 -
Android Studio 下配置JNI的使用 ---CMakeList【开篇一】
一、环境配置1,安装NDK按照如下两种方式进入NDK管理界面:NDK管理界面如图:当NDK没有安装时,按照提示next安装即可。上图是安装成功后显示的效果。2,配置NDK环境将NDK安装目录配置到环境变量中。配置环境完成,通过以下命令,获取以下情形,说明配置环境成功。二、项目新建1,创建项目原创 2017-09-30 15:08:16 · 794 阅读 · 0 评论 -
Android Studio 下的Kotlin HelloWorld
一、Android Studio下Kotlin环境配置Kotlin的一轮浪潮迅猛扑过来,借助这个风口,先多学习学习。【某人说,在风口,猪也能飞起来。笨鸟先飞罗 ~_~】1,安装Kotlin的相关插件执行 Settings -> plugins -> BrowseRepositories中搜索“Kotlin”安装kotlin插件。【关于是否安装Kotlin Ext原创 2017-10-18 14:22:04 · 1137 阅读 · 1 评论 -
自定义控件那些事儿 ----- 三【量测】
自定义控件实现中,主要包含:属性的获取,初始化,量测,布局和绘制。这一章节,主要用于实现理解量测过程。一、模拟ImageView实现量测过程1,自定义基础控件实现public class MImageView extends View { /** * 图片文件 */ private Bitmap bitmap;原创 2017-11-30 10:32:22 · 276 阅读 · 0 评论 -
自定义控件那些事儿 ----- 四【布局】
一、onLayout布局出洞在上一篇文章自定义控件那些事儿 ------ 三【量测】中,为实现图片和文字组合控件的正确显示,就已经引入了onLayout实现的整体过程。onLayout具体实现中,主要执行在layout()方法上。分别为left,top,right,bottom。实则是确定了当前控件的左上角和右下角,从而确定了当前控件展示的区域。所以,对一个View强制使用layo原创 2017-11-30 18:29:02 · 213 阅读 · 0 评论 -
Android动画之属性动画
总归是逮着机会,稍微慢一点。在过去的很长一段时间内,都是在业务逻辑的复杂变化中挣扎。没有技术上的成长,内心还是蛮恐慌的。一不小心,又带有了些许的情绪在里面。。。。。一、属性动画单个动画1,布局文件添加动画作用目标<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"原创 2017-12-01 17:10:00 · 202 阅读 · 0 评论 -
自定义控件那些事儿 ----- 五【绘制文字】
一、文字绘制的基础知识还记得小时候学习写字的时候,老使用四线格。当初就是理解说有一个区域,上下两根线确定了整个书写范围,而第三根线就像是排排坐的人,所有的重心都在这个上面。如今,用到绘制文字的时候,需要对文字绘制有一个全新的认识。上下两根确定了范围,没错!那个标识“重心”的线也就是基线!对于这个详细的解读,大神已经做了很好的描述。这也就有了我们所需要的五基线!借原创 2017-12-01 15:34:32 · 328 阅读 · 0 评论 -
自定义控件那些事儿 ----- 左滑删除控件
左滑删除使用比较多一点,在网上也有不少资料实现,不过坑总是不少。整合资料做出来一个效果,大家看看依据效果选择是否需要继续研究。一、自定义控件的实现1,自定义控件的实现实现思路主要是:将整体内容分为主体内容和左滑显示内容,布局文件中必须有两个子类。在依据ViewDragHelper的帮助计算主体内容和左滑内容的显示以及显示多少。/** * 左滑删除 *原创 2017-12-13 18:44:17 · 427 阅读 · 0 评论 -
自定义控件那些事儿 ------ 六【绘制路径】
一、绘制线Android中提供了很多绘制的方法,主要在Canvas中展示。两点连接就成为线,多点顺序连接就成为路径。为学习本阶段内容,先实现基础的Demo。1,自定义绘制路径控件/** * 绘制路径自定义控件 */public class LineView extends View { /** * 绘制路径 */ private Pa原创 2017-12-05 15:04:49 · 256 阅读 · 0 评论 -
图片二值化
新一版的需求中,加入了图片二值化的处理,踩过坑,受过累,做一个标记,积累积累。。。一、Android实现 /** * 该函数实现对图像进行二值化处理 */ public static Bitmap gray2Binary(Bitmap graymap) { //得到图形的宽度和长度 int width原创 2017-11-27 14:41:59 · 2279 阅读 · 0 评论 -
自定义控件那些事儿 ----- 七【绘制Bitmap】
一、环境设置本章节学习渲染Bitmap图片。定制展示效果的Demo。1,创建自定义控件/** * 自定义控件 */public class CustomView extends View { /** * 笔头设置 */ private Paint mPaint; /** * 绘图资源文件 */ pr原创 2017-12-06 17:31:30 · 789 阅读 · 0 评论 -
使用非Android系统的其他字体
一、准备使用非Android手机自带字体,首先需要有字体文件【ttf文件】。为不涉及权益纠纷,请使用网络免费开放字体。度娘搜索下载即可。将ttf文件放在资源文件目录下。Android Studio创建资源文件夹:二、第一种使用方法以自定义控件的方式重写一个TextView。** * 功能:设置TextView的字体为 正楷 * 作者:visi原创 2016-12-20 20:11:30 · 501 阅读 · 0 评论 -
Android粒子系统
一、粒子属性粒子图片,粒子大小,粒子缩放比例,粒子位置(X,Y),粒子移动方向与速度(X,Y坐标与时间t的关系)计算粒子所处位置,绘制渲染粒子系统,是大量基础图元构成的具有一定规律的不规律渲染图像。即要够成粒子系统,需要有基本图元,保持基本图元的一定规律性,并细化不规律性。一个基本图元即是粒子系统中展示的一个粒子,有以下基本属性:粒子纹理【图片】,粒子的大小,粒子缩放,粒子原创 2017-01-03 09:49:27 · 1551 阅读 · 1 评论 -
Android中的屏幕适配
一、屏幕适配的个人理解 跌跌撞撞也好,摸爬滚打也罢。在Android编程圈子中也徘徊一年有余。对于较多基础概念并不十分清楚,现在是时候回到更贴近底层的地方去的时候了。 Android系统的硬件覆盖电子产品的方方面面,这也是硬件屏幕多样化,形成Android碎片化重要原因。碎片化是一个难题,但并不表示,Android程序开发就不必做兼容考虑原创 2016-07-20 16:13:38 · 3925 阅读 · 1 评论 -
SurfaceView的应用
一,SurfaceView的初识 android游戏开发中常用的三种视图是:view、SurfaceView和GLSurfaceView View:显示视图,内置画布,提供图形绘制函数、触屏事件、按键事件函数等;必须在UI主线程内更新画面,速度较慢。 SurfaceView:基于view视图进行拓展的视图类,更适合2D游戏的开发;是view的子类,类似使用双缓机制,在新原创 2016-08-04 19:06:30 · 1020 阅读 · 0 评论 -
Android事件分发机制
一、View、ViewGroup的基本属性1,View事件:public boolean dispatchTouchEvent(MotionEvent event) //事件分发public boolean onTouchEvent(MotionEvent event) //事件处理2,ViewGroup事件public boolea原创 2016-08-08 16:20:36 · 429 阅读 · 0 评论 -
Android Handler机制
一、主要核心类Handler :消息处理器Message:消息,携带待传递数据的对象Message Queue:消息队列Looper:消息循环,消息队列没有消息时,线程阻塞。Android系统中的Looper负责管理线程的消息队列和消息循环。二、示例实现1,源码示例public class MainActivity extends AppCompatActiv原创 2016-08-09 10:21:27 · 457 阅读 · 1 评论 -
Surfaceview调用Camera实现拍照
一、Surfaceview的使用 surfaceView的使用主要有三步:继承SurfaceView;获取SurfaceViewHolder;应用Holder更新展示内容。Surfaceview的应用有常用类型及数据展示的Demo。 拍照功能实现思路:1,依据布局,获取Surfaceview对象;2,获取Holder对象并设置属性;3,绑定Surface原创 2016-08-22 14:58:52 · 7531 阅读 · 2 评论 -
Spannable支持字符串展示的多样式
一、Spannable的使用1,修改字体颜色 /** * 第一种设置方式 * * @param tv */ private void changeStyle1(TextView tv) { Spannable helloWorld = new SpannableString("我才知道Spannable可实现String原创 2016-09-13 15:45:20 · 510 阅读 · 0 评论 -
Android内嵌MuPDF打开PDF文件
一、基本实现 二、JNI调用三、使用细节注意 1,包名一致【JNI调用规则】 2,so库的注意事项原创 2016-08-24 10:10:19 · 8484 阅读 · 7 评论 -
侧滑删除
一、引出虽随时间发展,Android UI 界面绘制有了长足发展,而ListView作为内容承载一个重要控件的事实依旧未改变。Item多种状态的展示,以及不同小分区的响应事件更丰富了ListView的展现形式。侧滑则能够更大的扩展item所展示的区域,尤其以IOS的更多效果作对比。IOS能行的,Android也要会。本例借用网友的智慧,展示侧滑删除的两种特效。强化自己对于自定义控件原创 2016-10-18 16:52:25 · 744 阅读 · 0 评论 -
TrafficStats类实现Android监听网速
一、网络状态 Android市场的逐渐降温及形成稳定,其实说明了Android的发展走向稳重成熟的阶段。 除却最开始的功能实现,到如今的用户体验至上,Android研发面临的挑战却从未冷却。基于大多数APP均是以APP为数据展示框架,实现客户与服务器数据交互,网络扮演了十分重要的角色。 网络状态,除了WiFi,数据,网络不可用等,还有网络条件不好等情原创 2016-10-19 16:11:29 · 11651 阅读 · 8 评论 -
自定义控件 ----- 属性与组合控件
一、自定义控件属性 Android中提供了很多的View,但随着技术的发展,基本的View已经不能满足需求。需要程序员自己绘制出来适应需求的的View。绘制View较简单做法是,xml布局,加载布局,展示,并添加交互效果。与代码复用性、高效性都不是很好。自定义进阶大致有:1,xml布局加载实现;2,组合控件实现;3,添加属性监听事件实现;4,完全自主绘制实原创 2016-12-12 13:52:25 · 685 阅读 · 0 评论 -
Android中的绘制
一、绘制内容表述绘画的实现中,实际的过程是:用一支笔在指定的画布上绘制目标对象。在整个过程实现中,使用三个对象:笔,画布,目标对象。Android中绘制实现,也是使用笔在画布上绘制对象。笔的属性包含:颜色;对象区域属性:填充,轮廓,填充与轮廓;轮廓间隙大小;字体大小;画布对象可直接创建出来,也可以在View对象的onDraw()方法中获取,可以直接指定绘制对原创 2016-11-28 13:59:32 · 399 阅读 · 0 评论 -
回调监听机制详解
一、回调机制的理解回调监听实例需求:领导需要员工帮忙做一件事情,做完以后告诉他。这件事情的执行,是需要消耗时间的,领导不能在这里等待着。所以需要,在事情执行完后给领导一个反馈。在编码实现中,耗时操作则需要回调监听。领导:需要一个做事的员工,安排任务,携带回传信息途径 ---- 员工,任务,回传途径;员工:做事情,回传消息 ---- 需要:事情,回传;输出:事情结果。原创 2016-12-16 19:54:16 · 4256 阅读 · 0 评论 -
自定义控件那些事儿 ----- 八【着色器使用】
一、配置基础环境1,shaderView实现/** * Shader渲染控件 2017/12/7. */public class ShaderView extends View { private static final int RECT_SIZE = 400;// 矩形尺寸的一半 private Paint paint;// 画笔 priva原创 2017-12-07 16:55:39 · 289 阅读 · 0 评论