Android开发
文章平均质量分 89
花花young
这个作者很懒,什么都没留下…
展开
-
ListView源码分析
前言在Android所有常用的原生控件当中,用法最复杂的应该就是ListView了,几乎所有的app都应用了列表来展示数据,并且能加载大量数据而不发生OOM。作为开发者有责任和义务去研究这个神秘的控件,接下来本文将为你揭开ListView的神秘面纱开篇一问ListView我们也用了很久,本文将结合以下问题进行深入: ListView为什么加载上百上千条数据而不发生OO...原创 2018-09-06 14:03:58 · 703 阅读 · 0 评论 -
CoordinatorLayout_Behavior控制Toolbar&Fab的显示和隐藏
前言 Behavior是Android新出的Design库里新增的布局概念。Behavior只有是CoordinatorLayout的直接子View才有意义。可以为任何View添加一个Behavior。Behavior是一系列回调。让你有机会以非侵入的为View添加动态的依赖布局,和处理父布局(CoordinatorLayout)滑动手势的机会。效果~原创 2017-02-10 14:30:24 · 3204 阅读 · 0 评论 -
浮动操作按钮FloatingActionButton&源码设计
前言作为Material Design成员之一,旨在在手机、平板电脑、台式机和其它的平台提供一致、更广泛的外观和感觉。它有自身独特的动态效果,比如变形、弹出、位移等等,代表着当前页面上用户的特定操作。FloatingActionButton在用户界面起着不可替代的作用,看到这里是不是有一种跃跃欲试的感觉。效果~Part 1、FloatingActionButton常规应用配原创 2017-02-10 08:51:16 · 2031 阅读 · 0 评论 -
矢量图形SVG&高级动画
前言SVG,全名Scalable Vector Graphics可伸缩矢量图形,这种图像格式在前端已经是非常广泛了矢量图像SVG是W3C退出的一种开放标准的文本格式的矢量图形描述语言,他也是基于XML的、专门为网络而设计的图像格式,SVG是一种采用XML来描述而为图形的语言,所以它可以直接打开xml文件来修改和编辑位图图像位图图像的存储单位是图像上每一点的像素值,因而文件会比较原创 2017-02-28 10:13:50 · 4714 阅读 · 0 评论 -
轻量级控件SnackBar应用&源码分析
前言 SnackBar是Android Support Design Library库支持的一个控件,它在使用的时候经常和CoordinatorLayout一起使用,它是介于Toast和Dialog之间的产物,属于轻量级控件很方便的提供提示和动作反馈,有时候我们需要这样的控件,和Toast一样显示便可以消失,又想这个消息提示上进行用户的反馈。然而写Dialog只能通过点击去取消原创 2017-01-18 13:45:16 · 1316 阅读 · 0 评论 -
DrawerLayout&NavigationView标准式结合
前言Google最新推出规范式设计中的NavigationView和DrawerLayout结合实现侧滑菜单效果,NavigationView是android-support-design包下的一个控件,NavigationView是为规范侧滑菜单样式而生,侧滑作为常见的导航交互控件,最开始在没有android官方控件的时候,很多时候都是使用开源的SlidingMenu,现在使用DrawerL原创 2017-01-18 09:22:52 · 486 阅读 · 0 评论 -
艺术控件RecyclerView的交互动画&bug解决
前言 RecyclerView是Google在support-v7里面添加的控件,是5.0 Material Design模式下的一员,在众多的App中使用非常频繁,之前是ListView现在是RecyclerView,想比之下RecyclerView更加的灵活,高内聚低耦合,将ListView功能进行了拆分,各个类各司其职构成了现在的RecyclerView。现在我们来玩一下R原创 2017-01-16 11:17:52 · 1882 阅读 · 1 评论 -
艺术控件RecyclerView的分隔线&bug解决
前言 RecyclerView是Google在support-v7里面添加的控件,是5.0 Material Design模式下的一员,在众多的App中使用非常频繁,之前是ListView现在是RecyclerView,想比之下RecyclerView更加的灵活,高内聚低耦合,将ListView功能进行了拆分,各个类各司其职构成了现在的RecyclerView。效果~原创 2017-01-15 09:58:54 · 4373 阅读 · 1 评论 -
回首2016的坚持,迎接2017的美好
前言: “回首2016的坚持,迎接2017的美好”的由来:各位看客可能有在校的大学生、在职的工程师、找工作的寻觅者等等,对于2016我们或者浑噩度过或者潇洒度过也或者是苦逼的度过,但我们总会有一段时间一段路程去为了不为什么的坚持,那坚持或许为了爱情也或许为了事业,但都让你得到了好的或坏的结果,不管是好的还是坏的它永远印在我们心中那便是青春。对于要来临的新的一年,我们应该重新调整自己的原创 2016-12-19 14:56:11 · 2968 阅读 · 4 评论 -
Android DataBinding完全解析
/** * 2015年的Google IO大会上,Android 团队发布了一个数据绑定框架(Data Binding Library),官方原生支持 MVVM 模型。 * 以后可以直接在 layout 布局 xml 文件中绑定数据了,无需再 findViewById然后手工设置数据了。其语法和使用方式和 JSP 中的 EL 表达式非常类似。 */配置:android原创 2016-08-11 16:51:29 · 9999 阅读 · 4 评论 -
Android打造专属自定义SlidingMenu
/** 在众多的App中都用到了SlidingMenu,使用SlidingMenu不仅可以增加显示的内容,也让用户体验更多的舒适,当然现在github上有相应的SlidingMenu的库在其它的博客也有很多的关于SlidingMenu的介绍,也当然此文章也会有很多和别人重复,但是相信坚持总结、坚持学习,总有一天能写出不一样的文章,fighting!! */首先附上git原创 2016-12-08 01:42:06 · 1089 阅读 · 0 评论 -
Android5.0-新特性
/** * Material Design是谷歌新的设计语言,谷歌希望寄由此来统一各种平台上的用户体验,Material Design的特点是干净的排版和简单的布局,以此来突出内容。Material Design对排版、材质、配色、光效、间距、文字大小、交互方式、动画轨迹都做出了建议,以帮助设计者设计出符合Material Design风格的应用。 */特性一、阴影和裁剪功能原创 2016-03-03 12:13:17 · 565 阅读 · 0 评论 -
Android Kotlin入门-类和继承
正文:Classes在KotLin里定义类的形式如下:class Invoice {}类的声明包括类的名称、类的标题(类的参数、主构造参数)和类主体、所包含的花括号,类的标题和类主体是可选择的,如果类的主体不存在则花括号可以省略形如:class EmptyConstructors一个类在KotLin里面有一个主构造函数和好多的辅助构造函数,这个主构造函数是原创 2016-03-02 21:25:55 · 878 阅读 · 0 评论 -
CoordinatorLayout&AppBarLayout&CollapsingToolbarLayout组合
前言 CoordinatorLayout是Material Design的重要组件,协调其它组件实现联动,在实际使用过程中CoordinatorLayout通过协调调度子布局的形式实现触摸动画效果;AppBarLayout继承LinearLayout,布局为垂直方法,所以你可以将其当做LinearLayout使用;CollapsingToolbarLayout的作用是提供了一个可以原创 2017-02-11 09:36:58 · 890 阅读 · 1 评论 -
Android仿平行空间炫酷欢迎界面实现
前言 平行空间的欢迎界面实现是比较复杂的,整个布局是ViewPager,手机中的画面是由HorizontalScrollView,然后在滑动的时候对背景实现颜色的渐变。效果~ 1、布局使用RelativeLayout+ViewPager2、背景的动画 1> 开始进入或者翻页之后执行一个平移动画View.setTranslationX()原创 2017-02-15 17:49:34 · 5054 阅读 · 0 评论 -
Path&PathMeasure完全解析
前言 Path扮演着路径的角色,在绘制View起着非常重要的位置,而PathMeasure是对Path进行测量,通过使用PathMeasure可以更加方便的使用Path工具。网上都好多关于这方面的文章,在这里只是做个笔录,不好不要见怪。嘿嘿Part 1、谈谈Path的使用原创 2017-04-16 16:27:53 · 4493 阅读 · 0 评论 -
Android UI的绘制流程
前言 对于Android开发者来说,要学好自定义View就需要了解绘制流程,包含measure、layout、draw,Android的View绘制是一个自上而下的过程,本文便通过对UI的绘制流程研究来增强自身能力提高,内容不好不要见怪。Part 1、初步了解Activity UI的形成过程首先我们在Activity里面写上setContentView一运行就显示了视原创 2017-04-28 07:09:01 · 771 阅读 · 0 评论 -
Canvas实现Reveal揭露特效
前言在Android官方对Canvas描述是:Canvas类容纳所有和Draw(绘制)相关的方法。为了去Draw,你需要具备四个要素,1是Bitmap用来承载像素信息、2是Canvas用来管理Draw相关方法、3是绘制基元(例如,Rect,Path,text,Bitmap)、4是一个画笔(用来描述图像的颜色和风格)本文之前有关于Paint的文章绘图不可或缺的画笔Paint-使用篇原创 2017-04-02 09:28:37 · 805 阅读 · 0 评论 -
一步两步带你实现Android沉浸式设计
前言沉浸式不知道有了两种叫法,一种是沉浸式模式,一种是沉浸式状态栏,Google从Android4.4开始,给我们开发者提供了一套透明的系统UI样式给状态栏和导航栏,这样完美的玩法简直和IOS系统媲美了。Part 1、沉浸式模式public void toggle(View view) { int options = getWindow().ge原创 2017-03-24 21:58:39 · 829 阅读 · 0 评论 -
Canvas实现炫酷动画SearchView
前言 在Android官方对Canvas描述是:Canvas类容纳所有和Draw(绘制)相关的方法。为了去Draw,你需要具备四个要素,1是Bitmap用来承载像素信息、2是Canvas用来管理Draw相关方法、3是绘制基元(例如,Rect,Path,text,Bitmap)、4是一个画笔(用来描述图像的颜色和风格)本文之前有关于Paint的文章绘图不可或缺的画笔Paint原创 2017-04-08 01:57:56 · 1358 阅读 · 0 评论 -
自定义View框架完全解析
前言在Android中有很多的控件来供大家使用,但是和强大的IOS相比,Android所提供的控件平淡了许多,由于Android的开源可以让每个开发者都能创建自己的视图控件来满足自己的需求,正因为这样就出现各种各样的自定义控件,久而久之就形成了自定义视图框架。这里介绍两种方法1、给每一个需要配置自定义属性的子控件外面包裹一层自定义容器2、自定义LayoutInflater将xml布原创 2017-03-18 11:36:08 · 2114 阅读 · 0 评论 -
属性动画(PropertyAnimation)好玩的粘性控件
前言从补间动画、帧动画到属性动画,动画效果越来越丰富、越来越完善。补间动画(Tween Animation)a、渐变动画支持的类型:平移(Translate)、旋转(Rotate)、缩放(Scale)、透明度(Alpha)b、只是显示位置的变动,View的实际位置并没有改变,当View移动之后但点击事件只有在原处才能进行响应c、组合使用非常的复杂帧动画(Frame Anim原创 2017-02-15 09:05:24 · 770 阅读 · 0 评论 -
快速完成代码插入神器Exynap
/** * Exynap是一个帮助你快速查找和完成代码插入的Android Studio插件。你只需输入一个命令按回车就能调出一段代码,而这个命令也不需要你去记,只需输入大致意思就可以了,Exynap提供了上千种智能代码解决方案。 */安装步骤:1、保证你的AndroidStudio是在2.1.X或者更高的版本2、打开setting->Plugins3、点击Browse原创 2016-04-11 06:52:00 · 3310 阅读 · 3 评论 -
Android Studio问题汇总
/*随着android 5.0 的发布,android 开发已经进入了一个全新的时代,eclipse开发安卓已经有点不合时宜了,在github上80%的android项目都采用android studio开发,而且android studio的中文教程越来越多,还有什么理由不固守这eclipse 呢。*/1、AndroidStudio获取数字签名信息在Terminal里面输入"原创 2016-05-08 07:07:48 · 1791 阅读 · 0 评论 -
卡片式控件CardView&源码分析
前言 CardView作为卡片控件是在Android5.0系统引入的,继承于FragmentLayout布局在里面添加圆角阴影的效果,Google在5.0中引入了MD设计Elevation和Z轴位移,目的就是突出不同元素之间的层次关系,在显示列表或者网格时候更加的炫酷,说到这里便有跃跃欲试的感觉,Let's go!效果~Part 1、CardView卡片的简单应用代原创 2017-02-01 10:22:18 · 4007 阅读 · 1 评论 -
CoordinatorLayout自定义Behavior&源码分析
前言 Behavior是Android新出的Design库里新增的布局概念。Behavior只有是CoordinatorLayout的直接子View才有意义。可以为任何View添加一个Behavior。Behavior是一系列回调。让你有机会以非侵入的为View添加动态的依赖布局,和处理父布局(CoordinatorLayout)滑动手势的机会。Part 1、某个View原创 2017-02-14 13:52:01 · 712 阅读 · 0 评论 -
绘图不可或缺的画笔Paint-滤镜篇
前言 在Android中需要通过graphics类来显示2D图形,在Graphics中包括了Canvas(画布)、Paint(画笔)、Color(颜色)、Bitmap(图像)等常用的类。Paint在自定义控件用的极其多,通过使用Paint可以根据你的想法画出各种各样的图案。滤镜效果对图像进行一定的过滤加工处理。使用Paint设置滤镜效果。1.Alpha滤镜处理Ma原创 2017-02-22 17:28:08 · 1271 阅读 · 0 评论 -
绘图不可或缺的画笔Paint-渲染篇
前言 在Android中需要通过graphics类来显示2D图形,在Graphics中包括了Canvas(画布)、Paint(画笔)、Color(颜色)、Bitmap(图像)等常用的类。Paint在自定义控件用的极其多,通过使用Paint可以根据你的想法画出各种各样的图案。渲染Shader: BimapShader位图的图像渲染器 LinearGradie原创 2017-02-21 18:19:29 · 869 阅读 · 0 评论 -
刷新控件SwipeRefreshLayout&bug解决
前言: 下拉刷新在众多的App中可谓是屡见不鲜,在Version19.1之后Google将SwipeRefreshLayout添加到了support-v4包里面,SwipeRefreshLayout是Google提供的刷新控件,它放在了v4包中只允许一个直接子类,操作上比较简单但也不免有一些坑,如SwipeRefreshLayout+ViewPager滑动冲突等等。Pa原创 2017-01-12 20:52:24 · 5722 阅读 · 0 评论 -
绘图不可或缺的画笔Paint-使用篇
前言在Android中需要通过graphics类来显示2D图形,在Graphics中包括了Canvas(画布)、Paint(画笔)、Color(颜色)、Bitmap(图像)等常用的类。Paint在自定义控件用的极其多,通过使用Paint可以根据你的想法画出各种各样的图案。Paint 1、Paint设置属性1、重置PaintsetReset()原创 2017-02-21 16:26:27 · 1241 阅读 · 0 评论 -
Android Kotlin入门-控制流
正文:If Expression在KotLin,if是一个表达式,它将会有返回值,所以不会存在三元运算符的表达形式 //传统模式 var a = 1; var b = 2; var max: Int if(a>b) max = a else max = b原创 2016-02-28 11:58:37 · 744 阅读 · 0 评论 -
Android Kotlin入门-基本类型
首先先对KotLin进行介绍: KotLin是由JetBrains设计的开放源码的编程语言,它正在java开发者中变得越来越流行。KotLin通常被吹捧为Java的继承者,相比较Java而言,KotLin提供更为丰富的开发经验,因为它更现代,更具有表现力和更简洁。如果你在寻求Android开发的可替代编程语言,那么应该试一下KotLin。使用KotLin,你可以很容易的在Andr原创 2016-02-27 16:58:16 · 6912 阅读 · 0 评论 -
Android开发Camera常规应用
/**在开发Android应用的时候,如果需要调用摄像头获取拍摄的照片,除了通过Intent调用系统现有相机应用拍摄照片之外,还可以通过直接调用Camera硬件去去获取摄像头拍摄的照片*/自定义一个Camera,步骤如下:1、检查Camera是否可用并且打开Camera 检查Camera代码/** 检查设备是否有摄像头的功能 */ private原创 2016-01-02 02:18:21 · 1262 阅读 · 0 评论 -
AndroidSample之CardFlipActivity的学习
/** * 动画可以添加微妙的视觉线索,通知用户在你的应用程序中发生了什么,并改善你的应用程序的界面的心理模型。当屏幕改变状态时,动画是特别有用的,记住,这种过度使用动画或利用他们在错误的时间可以是有害的,如当他们造成延误。实现一些常见的类型的动画,可以增加可用性,而不会打扰您的用户。 */淡入淡出动画核心代码: // 为这个显示的View设置透明并设置可见原创 2016-03-28 16:29:22 · 903 阅读 · 0 评论 -
Android开发之小工具
/** * 得到屏幕的宽度 */ public void getScreenWidth(){ DisplayMetrics displayMetrics = new DisplayMetrics(); this.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics原创 2016-04-17 09:37:19 · 973 阅读 · 0 评论 -
Android新特性-ToolBar小结
Toolbar创建: <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?actionBarSize" android:backgr原创 2016-06-29 01:17:10 · 2173 阅读 · 0 评论 -
StrictMode总结
Android 2.3提供一个称为严苛模式(StrictMode)的调试特性,Google称该特性已经使数百个Android上的Google应用程序受益。首先先整体介绍:StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()//线程策略(ThreadPolicy) .det原创 2016-05-10 09:32:37 · 7083 阅读 · 0 评论 -
Android3D画廊总结整理
/** * 在网上看到好多的3D画廊的效果,最常见就是Gallery,但是在API16的时候就已经废弃了,现在推荐使用ViewPager和HorizontalScrollView来实现这种效果,下面就在这里对其进行整理一下,代码更多的是借鉴了好多网上的,勿喷!!!! */Gallery实现效果:步骤: 1、为Gallery设置Adapter原创 2016-07-08 19:34:33 · 5218 阅读 · 0 评论 -
Android特效-视差特效
附上一张效果图:实现步骤如下:1、首先整体使用ListView实现,顶部的图片为ListView的HeadView <ImageView android:id="@+id/img" android:layout_width="match_parent" android:layout_height="200dp"原创 2016-08-16 17:58:39 · 3578 阅读 · 0 评论 -
Androd7.0-新特性
##Android7.0多窗口Android N添加了同时显示多个应用窗口的支持,在手持设备上,两个应用可以在“分屏”模式中左右并排或上下并排显示。 在电视设备上,应用可以使用“画中画”模式,在用户与另一个应用交互的同时继续播放视频。 本文将在多窗口配置应用、多窗口变更通知和查询、多窗口的拖放功能来讲述。在讲解多窗口的时候先附上在模拟器打开自由状态模式方便查看演示效果:原创 2016-08-26 13:53:19 · 7641 阅读 · 2 评论