菜鸟视角

顶尚科技,品尚生活
103
原创
1
转载
0
译文
97
评论
334413
访问

我的博客文章

2017
10

Android-->你真的会用属性动画(ValueAnimator)么

讲真, ValueAnimator并不能当做属性动画来理解, 因为这样会限制自己对它的理解, 也会限制对它的使用范围. This class provides a simple timing engine for running animations which calculate animated values and set them on target objects. 官方描述文档其实也

(91)(0)
2017
08

Android-->如何快速写出属于自己的圆角图片控件

客官请看图无处不在的圆角, 到处满天飞开源库, 是时候写一个属于自己的圆角控件了.原理通过Canvas强大的clip特性, 你要想什么形状的图片都可以的…class CircleImageView(context: Context, attributeSet: AttributeSet? = null) : AppCompatImageView(context, attributeSet) {

(43)(0)
2017
07

Android-->输入框自动提示文本, 失去焦点自动输入

客官请看图功能简介 检查文本输入框当前输入的字符串, 进行后台匹配, 如果匹配到了, 就进行提示. 当然, 这个提示并不是简单粗暴的setText, 因为用户的输入可能只是前面的一致而已.后面不一定相同呢. 一旦发现不匹配, 立即取消提示. 原理1.自定义一个ExEditText 继承 AppCompatEditText public class ExEditText extends

(43)(0)
2017
06

Android-->模仿QQ7.0底部导航效果

来一波效果图有没有一种蠢蠢欲动的想法? 反正我已经动了.分析一波 1:选中状态, 和未选中状态显示的图片不一样. 这个简单:一个Boolean成员变量控制. 2:当手指360°滑动的时候,图片会跟随移动.这个就是核心了, 需要计算手指距离图片中心的角度, 然后计算出偏移的dx,dy值. 3:细心的你, 可能已经发现了, 笑脸其实并不是相对滚动的, 是有滚动差的. 这个可以在步骤2计算

(310)(0)
2017
25

Kotlin-->Kotlin 和 Java 类型映射

Java type Kotlin type byte kotlin.Byte short kotlin.Short int kotlin.Int long kotlin.Long char kotlin.Char float kotlin.Float double kotlin.Double boolean kotlin.Boolea

(155)(0)
2017
19

Android-->友盟分享/登录快速集成库

友盟分享/登录快速集成库友盟分享快速集成库本库基于友盟6.4.4的分享模块版本开发.暂时只集成了, QQ和微信 的分享和登录功能.使用方法1:打开项目中的 build.gradle 文件: 你会看到配置以下信息:UMENG_APPKEY: "替换你申请的友盟KEY", PROJECT_NAME: "替换成开发中APP的包名(如 com.angcyo.demo)", QQ_ID : "Q

(96)(0)
2017
23

OS-->JitPack从入门到使用

如果你还不知道JitPack是什么,那么请你移步至: http://www.jianshu.com/p/e443456bb506首先需要发布的Library, 并不需要任何特殊的配置.也就是说上篇文章中的这段话,是可以不需要添加. 打开 Project 的 root build.gradle,在 dependencies 节点添加一个 classpath:classpath ‘com.githu

(157)(0)
2017
20

AS-->打开第三方项目之前,必做的事(新手必看)

通常在Github, 或者其他渠道拿到的AS工程.结构如下(并非需要完全一致, 这不影响本文.):如果此项目创建时间是很久以前, 那么根据AS更新版本的速度, 此时你的AS版本和创建工程的AS所使用的版本, 多数情况下是不一样.这个时候, 贸然打开工程, 不是错误,就是等待时间特别长.所以, 你需要这样做: 删掉上图中, 红色圈中的文件或者文件夹.此再次打开工程, AS就会自动使用本机默认的G

(658)(6)
2017
16

Android-->Behavior上手入门

开始布局时,方法回调顺序:1:StickBehavior([context, attrs])-> 2:onAttachedToLayoutParams([params])-> 3:layoutDependsOn([parent,child,dependency])->//当dependency是你需要监听的View时,需要返回true, 否则dependency View位置改变, 或者大小改变不

(237)(0)
2017
15

Android-->RxJava2更新体验

截止日前最新版2017-3-15: RxJava compile ‘io.reactivex:rxjava:1.2.7’ compile ‘io.reactivex:rxandroid:1.2.1’ RxJava2 compile “io.reactivex.rxjava2:rxjava:2.0.7” compile “io.reactivex.rxjava2:rxandr

(335)(0)
2017
01

Android-->打造无限循环的RecyclerView

难点分析: 1:如何在有限的数据里面, 实现无限个Item呢? 2:如何让滑动的时候, 一个一个的滑动, 而不会一下子滚动多个呢? 3:如何在第一次显示的时候, 就可以左滑呢?针对以上问题, 接下来一一解决: 问题1: 只需要在RecyclerView.Adapter的方法中:@Override public int getItemCount() { return Integer.

(1252)(0)
2017
15

Android-->RecyclerView分组悬浮标题(分割线)

客官先看图: https://github.com/angcyo/ContactsPicker/blob/master/screenshot/1%E6%9C%88-15-2017%2016-17-46.gifRecyclerView中实现分组功能, 和 实现分割线 使用的是相同原理. 就是手动绘制信息.都是继承RecyclerView.ItemDecoration分割线的实现传送门:http://

(917)(0)
2017
14

Android-->Toast全屏和动画(模拟QQ样式)

如图, 底下是一个空布局, 参考我的博文: http://blog.csdn.net/angcyo/article/details/53967099 顶部就是一个Toast. 全屏,并且进入和退出都有自定义的动画.正文: 系统并没有提供设置全屏和动画的方法.但是Java有一个神器, 反射. 我们可以通过反射. 肆意修改成员变量.//全屏和动画的设置方法 private static void

(482)(4)
2017
10

Android-->如何让普通View具有checked属性(背景xml支持checked状态)

当需要实现选择状态的时候,CompoundButton是系统提供的选择.我们可以很简单的通过isChecked(), 返回是否选中.也可以通过xml设置background的方法, 实现选中后的样式.但是, 有些时候, 系统提供的控件不足以满足我们的需求,,,这个时候就是头脑风暴的时候了.首先, 如果需要实现isChecked()返回是否选中, 那么自定义View的时候, 就需要自己通过一个变量

(426)(0)
2017
10

Android-->Realm数据库使用注意事项

不知不觉Realm已经更新到2.2.2了. Realm Java 2.2.2但是,还有多少坑等着你呢?以下写一些我遇到的坑:1:Realm需不需要close呢?当你每次调用 Realm.getDefaultInstance(); 的时候, Realm的引用计数就会+1. 也就是说, close()方法调用次数也要+1, 才能释放Realm资源.Realm再调用close之后, 对应线程上whe

(474)(0)
2017
10

Android-->键盘表情切换的终极解决方案

之前写过一篇文章 Android–>如何优雅的切换表情和键盘(原理), 没有看多的可以看看. 这个方案有一个问题, 当状态栏透明的时候, 就会出现问题. 而且也不支持在Dialog中使用.实现方式也很简单, 但是代码逻辑很复杂, 不容易修改. 一不小心就会出错, 还找不到原因.今天这篇文章, 让你焕然一新. 完全颠覆之前的方案.前提,2个属性 android:windowSoftInputMod

(225)(0)
2017
08

Android-->RecyclerView模仿探探左右滑动布局

站在巨人的肩膀上,才能走得更远.参考文章:http://blog.csdn.net/zxt0601/article/details/53730908我在此基础上优化了部分代码, 添加了滑动回调, 可自定义性更强. 并且添加了点击按钮左右滑动的功能.据说无图都不敢发文章了. 看图:1:这种功能, 首先需要自己管理布局 继承 RecyclerView.LayoutManager , 显示自己管理布

(3284)(6)
2017
03

Android-->如何将RecyclerView打造成ViewPager的效果

如题所示,都支持横向和纵向, 暂不支持StaggeredGridLayoutManager布局管理.如图: 在LinearLayoutManager中: 在GridLayoutManager中: 1:当adapter中Item的数量不足时, 需要用假数据填充. 否则最后一页显示不全, 达不到页面的效果.@Override public int getItemCount() { raw

(889)(0)
2017
01

Android-->打造流行的无数据空布局页面

看图:实现方式,就是在一个自定义View里面, 绘制一个大的圆角矩形, 和三个小的圆角矩形.支持的属性,<?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="EmptyView"> <!--颜色--> <attr name="ev_default_color" f

(443)(0)
2016十一
20

Android-->状态栏高度,导航栏高度,Window高度,DecorView高度,heightPixels

喔…这标题,吓我一跳;请稍等….思绪整理中…Android中, 经常被这些高度绊脚. 完全进入懵逼的状态, 有木有?请允许我,介绍清楚!通常情况下, 宽度都是很友好的,但是高度就呵呵, 所以本文只介绍高度的计算.1:DecorView的高度 DecorView的高度代表的是: 整个装饰窗口的高度, 这个高度包括:状态烂的高度和导航栏的高度.(状态栏和导航栏通常叫做装饰窗口, 而ActionBar不

(1778)(1)
103条 共6页1 2 3 4 5 ... 下一页 尾页
img