自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

<angcyo>菜鸟视角

顶尚科技,品尚生活

  • 博客(153)
  • 资源 (30)
  • 收藏
  • 关注

原创 Kotlin--›如何实现一个自己的自定义TabLayout(附Touch事件分发)

前言你能学到啥?自定义View的基础知识ViewGroup中Child View的测量布局控制Touch事件的传递,拦截和处理draw和OnDraw方法的区别OverScroller的使用GestureDetector的使用ViewGroup中setWillNotDraw方法的作用Canvas的使用方法(自绘的核心类)需求分析TabLayout的...

2018-07-21 13:24:03 867 2

原创 Kotlin--›Android 自定义实现支付密码数字键盘

你能学到什么kotlin的使用, 扩展特性的写法等自定义ViewGroup的一些基础知识xml属性的编写和读取 因为每个按键都考虑到需要支持背景设置等其他个性设置和Touch手势的处理, 所以我决定采用 每个按键 对应一个View的思路实现. 否则可以使用Canvas.drawText实现 这样可以提高扩展性和可自定义性1.根据效果图先定义按键//首先定...

2018-07-20 16:12:40 694

原创 Kotlin--›Android 超高模仿QQ7.5 侧滑菜单

效果图: 特性模仿全屏可视区域滑动检测 (菜单关闭和打开状态, 都支持)内容区域滑动过程中自带阴影遮罩菜单打开状态, 点击阴影区域自动关闭滑动过程中, 视差效果可以嵌套在其他具有滚动特性的View中实现方法如果使用 ViewDragHelper 那么局限性会很多, 所以这里我采用了最原始的TouchEvent控制.以下代码, 只贴部分片段, 详细请下载源码首先...

2018-04-04 10:33:55 688

原创 Kotlin-->模仿QQ发送图片进度效果

效果图:效果分析 1. 带圆角的布局.(Canvas的clipPath方法实现, 不在本文介绍) 2. 蒙层(绘制一个有透明度的黑色) 3. 进度百分比(Canvas的drawText, 难点就是控制绘制的x和y坐标) 4. 白色进度圆圈(本文介绍,难点1) 5. 最外层是具有一定透明度的白色进度圆圈(实现方法和4一致)在Android中, 要绘制 圆柱形圆圈 , 及其不容易. 有同学可

2017-11-21 09:45:31 813 6

原创 Android-->播放视频横竖屏切换的2种方式

Activity的横竖屏切换其实很简单, 如果你的Activity没有声明android:configChanges, 那么Activity的方向就会随着手机的旋转而旋转. (手机需要开启自动旋转功能, 通常在手机的顶部通知栏中)本来这样就搞定了, 但是….之所以需要自己控制, 是因为横屏和竖屏时, 见面的显示需要有所不同. 才需要针对做出处理.接下来, 就教大家2种界面处理的方式:为了更好的用

2017-10-20 11:19:02 9239 2

原创 AS-->一键依赖全部或多个aar文件

首先, AS对aar文件依赖的支持, 并不友好.需要依赖aar文件, 我们需要2个步骤:1: app下的build.gradle文件加入repositories { flatDir { dirs "libs" // aar目录 }}2:dependencies中加入aar依赖compile name: 'aar文件名', ext: 'aar'上述方法, 就是添加aa

2017-10-13 09:01:16 2405 1

原创 Android-->自定义ViewGroup, 银行卡片布局

首先了解下, 自定义View的三部曲.1:onMeasure方法此方法主要目的, 就是根据xml的 android:layout_width="wrap_content" android:layout_height="wrap_content"wrap_content match_parent 这2个属性, 来确定测量自身的大小. 当然, 这2个值, 只是parent告诉你,

2017-09-19 11:32:19 993

原创 Kotlin-->范围选择进度条, 双向SeekBar

首先了解下, 自定义View的三部曲.1:onMeasure方法此方法主要目的, 就是根据xml的 android:layout_width="wrap_content" android:layout_height="wrap_content"wrap_content match_parent 这2个属性, 来确定测量自身的大小. 当然, 这2个值, 只是parent告诉你,

2017-09-19 11:11:59 1865

原创 Kotlin-->自定义评分控件RatingBar

首先了解下, 自定义View的三部曲.1:onMeasure方法此方法主要目的, 就是根据xml的 android:layout_width="wrap_content" android:layout_height="wrap_content"wrap_content match_parent 这2个属性, 来确定测量自身的大小. 当然, 这2个值, 只是parent告诉你,

2017-09-19 10:58:16 1144

原创 Android-->ConstraintLayout解读

截止日前2017-08-27, ConstraintLayout的版本为1.0.2 compile ‘com.android.support.constraint:constraint-layout:1.0.2’也许你需要先了解一下ConstraintLayout一些xml属性的归纳相对位置约束属性layout_constraintLeft_toLeftOflayout_constraint

2017-08-27 11:11:55 1094

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

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

2017-06-10 08:10:39 595

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

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

2017-06-08 18:00:55 697

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

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

2017-06-07 11:08:04 2118 1

原创 Android--›模仿QQ7.0底部导航效果(kotlin版)

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

2017-06-06 13:37:41 2901 1

原创 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

2017-05-25 09:00:26 1507

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

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

2017-05-19 14:08:06 1303

原创 OS-->JitPack从入门到使用

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

2017-03-23 16:22:21 727

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

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

2017-03-20 17:27:37 3778 9

原创 Android-->Behavior上手入门

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

2017-03-16 16:15:51 1031

原创 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

2017-03-15 14:27:58 2459

原创 Android--›打造无限循环的RecyclerView(已更新新方式)

难点分析: 1:如何在有限的数据里面, 实现无限个Item呢? 2:如何让滑动的时候, 一个一个的滑动, 而不会一下子滚动多个呢? 3:如何在第一次显示的时候, 就可以左滑呢?更新于2018-3-8 鉴于之前的时候方式, 有很多问题, 思路也不是特别好. 最近在学习的过程中, 发现了大神写了自定义的ViewPagerLayoutManager支持无限循环, 所以我就打算使用...

2017-03-01 14:38:02 16818 3

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

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

2017-01-15 16:48:36 3691

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

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

2017-01-14 13:41:17 2482 8

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

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

2017-01-10 16:14:40 4522 2

原创 Android--›Realm数据库使用注意事项

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

2017-01-10 12:16:03 2061

原创 Android--›键盘表情切换的终极解决方案(已重构)

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

2017-01-10 11:59:13 3083 2

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

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

2017-01-08 14:56:28 9907 8

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

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

2017-01-03 22:26:16 5413 5

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

看图:实现方式,就是在一个自定义View里面, 绘制一个大的圆角矩形, 和三个小的圆角矩形.支持的属性,resources> declare-styleable name="EmptyView"> attr name="ev_default_color" format="color"/> attr

2017-01-01 17:19:14 3144 2

原创 Android--›状态栏高度,导航栏高度,Window高度,DecorView高度,heightPixels

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

2016-11-20 14:30:56 7779 1

原创 Android-->轻松打造带删除按钮的输入框(EditText),附Emoji表情过滤

输入框带删除按钮, 此乃标配, 实现起来方法也很多, 网上开源也很多.但是, 没事就喜欢瞎折腾.上图说话. 只是在原生的基础上加了扩展. 相对来说入侵非常少, 使用方法和原生的一模一样.无任何阉割.完整代码:public class ExEditText extends AppCompatEditText { Rect clearRect = new Rect(); public Ex

2016-11-20 12:04:27 2998

原创 Android-->最全的启动第三方APP,应用程序(按需启动,历史启动)

在很多地方都需要启动其他的程序, 调起第三方应用;比如:桌面程序,必须的就是启动第三方应用了.如果你很细心的话, 应该注意到一点: 在桌面程序中点击启动第三方应用, 如果程序还没启动过, 就会重新创建并启动, 但是…已经启动过的程序,则不会重新创建…为啥呢?继续往下阅读:第1种: 只需要第三方程序的包名就能启动. 超级简单,难就难在怎么获取包名!!!哈哈~PackageManager packa

2016-11-10 16:05:08 4941 1

原创 Android--›RecyclerView 显示底部,滚动底部(无动画)

当你在做聊天界面的时候, 通常进入界面后, 都需要显示到最底部, 鹅场也是这么干的;很容易就能找到 RecyclerView的smoothScrollToPosition 方法.而且也确实实现了目的;为什么不用 scrollToPosition 这个方法呢? 你去试试就知道!但是,,,这个方法会带来界面的滚动, 当聊天记录特别多的时候, 这个滚动时间会持续很长, 显然产品经理不爽了, 那么看完本文

2016-11-07 16:15:07 9103

原创 Android-->如何优雅的切换表情和键盘(原理)

网上有很多开源的项目, 但通常都封装的很复杂, 并不能很友好的自定义, 甚至原理都看不清楚.没关系, 这篇文章就是讲原理的. 让你分分钟都能自定义一个出来.正常情况下, 当我们切换表情和键盘的时候, Layout会跳动, 体验极其差.有几个前提需要满足:<activity android:windowSoftInputMode="adjustResize" //这个是必

2016-10-19 21:43:39 4654 1

原创 Android-->RecyclerView.ItemDecoration分割线详解

RecyclerView.ItemDecoration不仅仅只是用来画线实现分割线这么简单;你可以绘制everything, 只要你想要; 都可以;最常用的: 绘制分割线; 绘制分组标题;点这里查看效果图参考文档: http://blog.csdn.net/pengkv/article/details/50538121ItemDecoration有3个重要的方法:@Overridepubli

2016-10-16 14:30:48 3784

原创 Android-->拍照/相册选择照片(从Uri中获取图片路径)

对于一个APP来说, 照片选择是经常会用到的功能.拍照获取照片 此方法需要指定照片的路径, 这是最简单的获取照片的方式了;/** * 拍照获取图片, imageUri.getPath() 图片路径 */public static void getPhotoFromCamera(Activity context, int requestCode, Uri imageUri) { Int

2016-10-10 13:39:05 11332 2

原创 Android-->Facebook图片加载库Fresco(爱它的理由)

在Android中,图片加载框架很多,很多,很多…都是经典,爆款.也许你在用: https://github.com/square/picasso https://github.com/bumptech/glide https://github.com/nostra13/Android-Universal-Image-Loader/ https://github.com/koush/U

2016-10-02 05:53:11 2209

原创 Android-->颜色渐变动画的实现,应用市场跳转

这个动画实现起来很简单,但是前提是你知道该怎么实现. 哈哈; 如果不知道, 再简单, 都是那么难;public void startAnimation(View view) { View animationView = findViewById(R.id.view); //创建动画,这里的关键就是使用ArgbEvaluator, 后面2个参数就是 开始的颜色,和结束的颜色.

2016-09-22 09:43:39 4938

原创 Swift-->NSUserDefaults键值对,Android中的SharedPreferences

IOS中, 有4种数据存储的方法: 1:NSKeyedArchiver与NSKeyedUnarchiver存档 http://blog.csdn.net/angcyo/article/details/52262893 2:CoreData数据库 http://blog.csdn.net/angcyo/article/details/52331382 3:File存储 http://blog.c

2016-08-28 20:20:52 1389

原创 Swift-->ViewController跳转,转场以及自定义动画

IOS常用的转场方式: 1:UINavigationController的pushViewController打开,popViewController关闭; 2:UIViewController的presentViewController打开,dismissViewController关闭; 当然你也可以直接使用rootViewController赋值的方式…(本文暂不介绍此方法)1:首先看一

2016-08-28 01:56:27 6325

sqljdbc42 jdbc for java

sqljdbc42 jdbc for java

2015-09-16

sqljdbc_3.0.1301.203_enu

java 连接 ms sql 必备库;Java 直接连接 MS SQL 教程:

2015-09-05

EclipseGradle

博文: http://blog.csdn.net/angcyo/article/details/47665695

2015-08-14

angcyo AndroidTouchViewDemo

博文 :http://blog.csdn.net/angcyo/article/details/47205889

2015-08-02

AndroidTouchViewDemo

博文:http://blog.csdn.net/angcyo/article/details/47205889

2015-08-02

Android_Http_服务器

Android Http 服务器,搭建; 不需要任务第三方包,原生API搭建;

2015-06-11

classes4.2

Android 4.2 源码编译环境, 无私奉献的精神可嘉

2015-06-11

RecyclerViewDemo

RecyclerView的上手教程, 模仿了画廊的实现; 博文地址: http://blog.csdn.net/angcyo/article/details/46443793

2015-06-10

NettyServer

Netty搭建的Java Http Server, 可以在浏览器中输入地址, 返回请求; 测试在Java程序中, 有效; 在Android机器上, 会卡死,暂时无解决方案;

2015-06-09

InterfaceDemo

博文地址:http://blog.csdn.net/angcyo/article/details/46410577

2015-06-08

InstallAndStartDemo

相关博文:http://blog.csdn.net/angcyo/article/details/46364901

2015-06-04

动态加载Activity_示例项目

Eclipse 项目; 相关博文, http://blog.csdn.net/angcyo/article/details/46353549

2015-06-04

PHP开发坏境搭建工具phpStudy-x64

PHP开发环境搭建工具,一键安装,就能使用;这是64位版本,前面有32位版; 自行下载;

2015-05-30

PHP开发坏境搭建工具phpStudy

phpStudy 32位版本,后面有64位版本,需要的自行选择下载;

2015-05-30

PHP高级中文手册chm(5.6.x)

和之前上传的入门文档一样,只是内容更多, 更适合高手; 需要的自行选择下载; 后面有php开发工具, 需要的跟踪我的资源;

2015-05-30

PHP入门中文手册chm(5.6.x)

最新5.6.x php中文入门chm手册,学习php必备资料;(后面还有高级中文手册) 我还有php开发工具,有需要的可以跟踪我的资源.

2015-05-30

批处理工具

很强大的批处理工具, 可以禁用注册表, 右键菜单, 管理系统工具; 可以添加启动项, 可以连接Android设备,安装 和卸载程序; 所有代码,都是可以用文本编辑的,是学习的好资料;

2015-05-26

窗口工具V13.5

推动十字架, 指向的窗口 可以修改 置顶,透明度,标题,是否禁用,等; 可以拾取光标对应的颜色, 可以一键隐藏 所有窗口; 程序退出方式:在程序具有焦点的情况下,按键520,即可退出.

2015-05-26

超大文件制作

可以修改已存在文件的大小,也可以制作新的文件, 可以指定文件的大小, 小至0byte,大至EP单位;

2015-05-26

MFC写的MD5校验工具

支持文件拖拽, 一键计算MD5, 使用MFC开发.

2015-05-26

MFC猜数游戏(休闲游戏)

小游戏, 平时在纸上都可以玩的游戏; 猜一个4位数字, 判断是否数值正确,或者数值对应的位置是否正确,又或者数值和位置都正确,如果全部正确游戏成功.

2015-05-26

Keyboard记录工具

可以注入exe程序中, 就可以记录exe中所有的键盘操作, 对于有些写保护的程序,无法记录.

2015-05-26

批量文件编码转换器1.2

可以将GBK编码文件,转换成UTF-8格式, 支持文件批量转换,支持拖拽文件.

2015-05-26

Android 4.1 API文档 CHM(英文)

原生版4.1API 开发文档

2013-03-15

Android必备笔记

超基础,0开始,例子N多,你不知道都有!

2013-03-15

Java从0开始

新手,等你好久了!你必须拥有,评价资源之后,可以重获下载积分!

2013-03-15

Java Api 中文CHM文档

JAVA 中文API文档CHM 版本1_6 已经下载过的同学,请不要下载,避免浪费资料积分。

2013-03-15

iPhone4S 中文Siri

此文件可以使你的iPhone4S 拥有中文Siri

2012-10-09

批处理命令

集成了常用的DOS命令,想要学习DOS命令的同学都可以下载引用。可以学到很多东西的!

2011-11-26

CMD工具,一些简单DOS命令集!

想学CMD,DOS命令的都可以下载看。几乎常用的命令都用上来。

2011-10-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除