- 博客(29)
- 收藏
- 关注
原创 Android 自定义多状态切换布局,一句代码执行状态切换,自带状态缓存和恢复
简介项目中经常遇到这样一种情况,新打开的界面需要加载数据,存在多种状态的结果,需要根据不同结果展示界面,这个过程归纳起来可以分为五种状态:初始状态、请求状态、空数据状态、网络错误状态、成功请求状态。 如果多个界面都存在这个流程,那么封装整个过程的调用就很有必要了,既可以简化调用过程,又可以很方便的管理整个流程。StateFrameLayout 继承自FrameLayout,内部实现了一句代码切换各种
2017-06-15 15:09:08
3919
2
原创 Android6.0 Marshmallow运行时权限申请框架
RTPermission前言Android6.0发布后带来的运行时权限机制,使得开发者的工作又多了一点,在程序需要使用到9类敏感权限时必须去动态申请权限使用权,然而按照标准写法实在是太繁琐了,要是每一个权限都写一大堆申请步骤,我估计开发者分分钟暴走。所以,封装一个统一的请求框架是很有必要的,RTPermission就是为了简化申请步骤而做的,有需要的可参考一下,欢迎star和fork。 Git
2017-05-22 10:14:31
1458
原创 Android RecyclerView通用适配器,支持Header、Footer、LoadMore、EmptyView等功能
前言RecyclerView已经发布很久了,高度的解耦性和灵活的定制性使得其一经发布就广受好评,但在使用过程中会发现,编写适配器的代码量貌似有点多,而且不支持添加HeaderView、FooterView等功能,甚至连Item点击监听都没有,这当然是不能忍的,所以还是有必要对其封装一下,当然现在已经有很多这样的开源框架,但自己实现一下也挺好,就当认真总结了。RecyclerViewAdapter源码
2017-04-26 11:36:15
3192
5
原创 Web开发之JS的DOM操作
本文根据慕课网教程整理:http://www.imooc.com/code/1575文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法。DOM 将HTML文档呈现为带有元素、属性和文本的树结构(节点树)。先来看看下面代码:将HTML代码分解为DOM节点层次图: HTML文档可以说由节点构成的集合,DOM节点有: 1. 元素节点:上图中<htm
2017-03-29 10:45:56
397
原创 Android自定义图片选取器,类似微信样式,自带裁剪功能,适配Android7.0
不知道为什么README文档在github上排版格式全乱了,所以写个博客当文档看吧ImagePicker这是一个Android使用的自定义图片选择器,众所周知,Android碎片化问题严重,其中就包括图片选择的问题,调用系统相册选择图片或裁剪图片时反应慢,用户体验有种割裂感,所以自定义一个通用的图片选择器还是有点小必要的,最近也闲着没事做就撸了一个,效果还行,喜欢的可以star或fork,发现问题的
2017-03-24 20:36:44
5808
5
原创 Web开发之JS浏览器对象
本文根据慕课网教程整理:http://www.imooc.com/code/1146 Window对象window对象是BOM的核心,window对象指当前的浏览器窗口。window对象方法: JS计时器在JavaScript中,我们可以在设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。计时器类型: 一次性计时器:仅在指定的延迟时间之后触发一次。 间隔性触发计时器:每隔一定的
2017-03-13 16:33:19
403
原创 Web开发之JS对象
本文根据慕课网教程整理:http://www.imooc.com/code/724本文测试代码是在2017年3月13日,星期一运行。 什么是对象JavaScript 中的所有事物都是对象,如:字符串、数值、数组、函数等,每个对象带有属性和方法。对象的属性:反映该对象某些特定的性质的,如:字符串的长度、图像的长宽等; 对象的方法:能够在对象上执行的动作。例如,表单的“提交”(Submit),时间的
2017-03-13 10:03:37
330
原创 Web开发之JS事件
本文根据慕课网教程整理:http://www.imooc.com/code/635 什么是事件JavaScript 创建动态页面。事件是可以被 JavaScript 侦测到的行为。 网页中的每个元素都可以产生某些可以触发 JavaScript 函数或程序的事件。 比如说,当用户单击按钮或者提交表单数据时,就发生一个鼠标单击(onclick)事件,需要浏览器做出处理,返回给用户一个结果。主要事件表
2017-03-10 15:47:20
688
原创 Web开发之JS函数
本文根据慕课网教程整理:http://www.imooc.com/code/347 好水的一节 函数的作用,可以写一次代码,然后反复地重用这个代码,示例:function add2(a,b){sum = a + b; alert(sum);} // 只需写一次就可以add2(3,2);add2(7,8);.... //只需调用函数就可以定义函数格式:function 函数名( )
2017-03-10 11:18:19
338
原创 Web开发之JS流程控制语句
本文根据慕课网教程整理:http://www.imooc.com/code/191 有Java、C基础的可以跳过这节了if语句语法:if(条件){ 条件成立时执行代码}if(条件){ 条件成立时执行的代码}else{条件不成立时执行的代码}if(条件1){ 条件1成立时执行的代码}else if(条件2){ 条件2成立时执行的代码}...else if(条件n){ 条件n成
2017-03-09 14:41:34
298
原创 Web开发之JS数组
本文根据慕课网教程整理:http://www.imooc.com/code/233 数组是一个值的集合,每个值都有一个索引号,从0开始,每个索引都有一个相应的值,根据需要添加更多数值。创建数组语法:var myarray=new Array();我们创建数组的同时,还可以为数组指定长度,长度可任意指定。var myarray= new Array(8); //创建数组,存储8个数据。 注意: 1.
2017-03-08 15:47:43
388
原创 Web开发之JS基础语法
本文根据慕课网教程整理:http://www.imooc.com/code/113 变量命名变量名字可以任意取,只不过取名字要遵循一些规则: 1. 必须以字母、下划线或美元符号(“&”)开头,后面可以跟字母、下划线、美元符号和数字。 2. 变量名区分大小写,如:A与a是两个不同变量。 3. 不允许使用JavaScript关键字和保留字做变量名。 声明变量语法:var 变量名;//声明一
2017-03-08 14:28:04
357
原创 Web开发之JS入门基础
本文根据慕课网教程整理:http://www.imooc.com/code/401在网页中植入JS代码引用方式1. 只需要使用<script>标签在HTML网页中插入JS代码,注意, <script>标签要成对出现,并把JavaScript代码写在<script></script>之间。 2. 除了直接写在HTML中,还可以使用外部引用的方式,可以把HTML文件和JS代码分开,并单独创建一个Ja
2017-03-08 10:50:29
504
原创 Web开发之CSS样式设置小技巧
本文根据慕课网整理:http://www.imooc.com/code/4339水平居中设置我们在实际工作中常会遇到需要设置水平居中的场景,比如为了美观,文章的标题一般都是水平居中显示的。 这里我们又得分两种情况:行内元素 还是 块状元素 ,块状元素里面又分为定宽块状元素,以及不定宽块状元素。 行内元素如果被设置元素为<font color=red>文本、图片</font>等行内元素时,水平居中
2017-03-01 17:19:45
693
原创 Web开发之单位和值
本文来自慕课网整理:http://www.imooc.com/code/3884颜色值在网页中的颜色设置是非常重要,有字体颜色(color)、背景颜色(background-color)、边框颜色(border)等,设置颜色的方法也有很多种: 1、英文命令颜色 前面几个小节中经常用到的就是这种设置方法:p{color:red;}2、RGB颜色 这个与 photoshop 中的 RGB 颜色是一
2017-03-01 11:13:22
356
原创 Web开发之CSS代码缩写
本来来自慕课网整理:http://www.imooc.com/code/2088盒模型代码缩写还记得在讲盒模型时外边距(margin)、内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左。具体应用在margin和padding的例子如下:margin:10px 15px 12px 14px;/*上设置为10px、右设置为15px、下设置为12px
2017-03-01 10:50:04
557
原创 Web开发之CSS布局模型
本文根据慕课网整理:http://www.imooc.com/code/2057简介布局模型与盒模型一样都是 CSS 最基本、 最核心的概念。 但布局模型是建立在盒模型基础之上,又不同于我们常说的 CSS 布局样式或 CSS 布局模板。如果说布局模型是本,那么 CSS 布局模板就是末了,是外在的表现形式。 CSS包含3种基本的布局模型,用英文概括为:Flow、Layer 和 Float。 在网
2017-02-28 15:47:28
418
原创 Web开发之CSS盒模型
本文根据慕课网整理:http://www.imooc.com/code/2047元素分类在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素、内联元素(又叫行内元素)和内联块状元素。常用的块状元素有:<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>常用的内联元素有:<a>、<span>
2017-02-28 11:45:14
329
原创 Web开发之CSS格式化排版
本文根据慕课网整理:http://www.imooc.com/code/2076文字排版设置文字字体、字号和颜色body{ font-family:"Microsfot Yahei"; /*设置字体为“微软雅黑”*/ font-size:20px; /*设置字体大小为20px*/ color:red; /*设置字体颜色为红色*/}注意不要设置不常用的字体,因为如果用户本地电
2017-02-28 10:36:39
644
原创 Android MediaRecorder录制视频报错start failed:-19原因
在设置MediaRecorder参数时有设置setVideoFrameRate(int rate)或者setVideoSize(int width, int height),这两个方法代表设置录制视频的帧率和分辨率,关键在于需要手机硬件支持的,如果测试机的硬件不支持设置的参数就会无法start。解决思路:查找手机支持的参数,选择最合适的设置进去。 针对setVideoSize(int width
2016-11-03 10:23:54
4975
翻译 Activity/Fragment 状态缓存和恢复的最佳实践
英文原文:https://inthecheesefactory.com/blog/fragment-state-saving-best-practices/en几个月前我发布过一篇关于Fragment缓存和恢复状态的文章:Probably be the best way (?) to save/restore Android Fragment’s state so far . 收到了许多来自世界各地
2016-08-03 15:35:32
808
翻译 Android M运行时权限详解
好久之前在网上看到国外一篇关于M的权限机制详解,由于是英文的,刚好最近闲的没事做,顺手翻译一下。英文原文地址:https://inthecheesefactory.com/blog/things-you-need-to-know-about-android-m-permission-developer-edition/en翻译水平有限,凑合着看吧。前几天官方公布了Andro
2016-06-16 10:26:11
4329
原创 Android屏幕适配相关知识
大部分资料摘自CSDN大神郭霖的博客和公众号文章dpi (dot per inch)表示屏幕密度,是指每英寸上的像素点数。Android将根据不同的dpi将Android设备分成多个显示级别。具体如下:dp: 同称dip(density independent pixel 直译“密度无关像素”)在Android中,将屏幕密度为160dpi的中
2016-05-11 10:32:56
1970
原创 Android TextView中部分文字高亮,且可响应点击事件
如果只是单纯的想让TextView中部分文字高亮显示,下面两个方法就行了:/** * 关键字高亮变色 * * @param color * 变化的色值 * @param text * 文字 * @param keyword *
2016-02-28 15:04:44
3069
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人