安卓开发
文章平均质量分 80
欢子-3824
这个作者很懒,什么都没留下…
展开
-
【Android工具类】在代码中如何获取应用签名及sha1值
在需要微信分享、支付的项目中,会涉及到应用签名,这里主要讨论怎么在应用里获取应用的签名信息。不多说了,直接上代码:PackageManager packageManager = context.getPackageManager();//请注意需要PackageManager.GET_SIGNATURES 这个flagPackageInfo packageInfo = packageManag...原创 2016-07-01 11:23:28 · 2490 阅读 · 0 评论 -
【Android 动画】动画详解之补间动画(一)
前言 :之前很早就想写写Android 的动画,最近刚好有时间,大概聊一聊安卓动画。我个人习惯将动画分为:补间动画(透明度、旋转、位移、缩放)、帧动画、和属性动画,这一篇,我们先说说补间动画。补间动画这个词出于flash,在两个关键帧(可以理解成动画开始和结束)中间需要做“补间动画”,才能实现图画的运动;插入补间动画后两个关键帧之间的插补帧是由计算机自动运算而得到的。实际上,Android ...原创 2018-11-08 15:58:31 · 293 阅读 · 0 评论 -
【Android 动画】动画详解之插值器(二)
大家好,在上一篇中,我们介绍了Android 的补间动画,这一篇我们来说说动画的另外一个公共属性插值器Interpolator【Android 动画】动画详解之补间动画(一)在上一节中,实现的旋转、位移动画等动画,我们会发现它一直是匀速的,但如果我们需要做一个加速的旋转的动画时,该如何做?这就是Interpolator的由来,安卓系统已经为我们添加了9种插值器,让我们一起来了解下A...原创 2018-11-12 16:50:22 · 215 阅读 · 0 评论 -
【Android 动画】动画详解之属性动画(三)
大家好,在前两篇中,我们介绍了Android的补间动画和插值器,这一篇,我们来说下属性动画。【Android 动画】动画详解之补间动画(一)【Android 动画】动画详解之插值器(二)前言通过前两篇,我们已经熟悉了对View进行移动、缩放、旋转和淡入淡出几种动画,还可以利用AnimationSet将其组合起来,但这些在实际应用中往往还不够,比如说,如何实现一个View 的背景色按照一...原创 2018-11-14 17:29:06 · 246 阅读 · 0 评论 -
【Android 动画】动画详解之仿微信查看大图效果(四)
前几篇中,我们说了安卓的补间动画和插值器,这一篇,我们来写2个例子。【Android 动画】动画详解之补间动画(一)【Android 动画】动画详解之插值器(二)【Android 动画】动画详解之属性动画(三)一、小球落地动画先上效果图:可以看到,小球是先加速下落,碰到底部后弹起,再下落,最后完全静止,如果要手写这个过程,还是相当麻烦的,有没有简单的办法?这里就要用到我们第2篇...原创 2018-12-04 17:23:45 · 662 阅读 · 0 评论 -
【Android架构】基于MVP模式的Retrofit2+RXjava封装之断点下载(五)
前言:最近有个断点下载的需求,捣鼓了下,然后分享下【Android架构】基于MVP模式的Retrofit2+RXjava封装(一)【Android架构】基于MVP模式的Retrofit2+RXjava封装之文件下载(二)【Android架构】基于MVP模式的Retrofit2+RXjava封装之文件上传(三)【Android架构】基于MVP模式的Retrofit2+RXjava封装之常见...原创 2018-12-06 08:53:57 · 229 阅读 · 0 评论 -
【Android视图效果】共享元素实现仿微信查看大图效果
在之前的文章中,我们通过动画实现了这个,具体可以查看【Android 动画】动画详解之仿微信查看大图效果(四),这里,我们用过度动画来实现。什么是共享元素?它是Android 5.0新加入的一种过度动画,主要用于2个activity之间,可以共享某些控件,实现无缝转场的动画。如何使用?1.为共享元素指定统一的 transition name2.启动 Activity 时带上共享元素参数...原创 2018-12-27 17:29:26 · 1786 阅读 · 0 评论 -
【源码阅读】Glide源码阅读之with方法(一)
前言:本篇基于4.8.0版本【源码阅读】Glide源码阅读之with方法(一)【源码阅读】Glide源码阅读之load方法(二)【源码阅读】Glide源码阅读之into方法(三)大多数情况下,我们使用glide 就一句代码Glide.with(context).load(url).into(imageView);但是这一句代码里面蕴含着成吨的代码!with方法有以下几个重载方法 p...原创 2018-12-12 10:57:19 · 283 阅读 · 0 评论 -
【源码阅读】Glide源码阅读之load方法(二)
前言:上一篇中,我们阅读了glide的with方法的相关代码,这一篇,我们来看看load方法。【源码阅读】Glide源码阅读之with方法(一)【源码阅读】Glide源码阅读之load方法(二)【源码阅读】Glide源码阅读之into方法(三)首先,load方法有以下几个重载方法: public RequestBuilder<Drawable> load(@Nullable...原创 2018-12-12 10:57:56 · 212 阅读 · 0 评论 -
【源码阅读】Glide源码阅读之into方法(三)
前言:上两篇中,我们阅读了glide的with和load方法的相关代码,这一篇,我们来看看into方法。【源码阅读】Glide源码阅读之with方法(一)【源码阅读】Glide源码阅读之load方法(二)【源码阅读】Glide源码阅读之into方法(三)之前,通过with和load方法,Glide创建了一个RequestBuilder,它里面保存了请求需要的相关信息,它是什么时候开始去加载...原创 2018-12-12 10:58:33 · 253 阅读 · 0 评论 -
【Android 动画】动画详解之属性动画(五)
在前几篇中,我们了解了补间动画、插值器和属性动画中的ValueAnimator,这一篇,我们来了解下属性动画中的ObjectAnimator【Android 动画】动画详解之补间动画(一)【Android 动画】动画详解之插值器(二)【Android 动画】动画详解之属性动画(三)【Android 动画】动画详解之仿微信查看大图效果(四)【Android 动画】动画详解之属性动画(五)...原创 2018-12-24 16:50:55 · 509 阅读 · 0 评论 -
【Android架构】基于MVP模式的Retrofit2+RXjava封装之数据预处理(六)
前言mvp框架也用了相当长的时间了,一般让人比较纠结的就是后台数据的处理问题。大多数的公司由于代码的不规范、经手人员太多等等原因,后台的代码相当混乱,接口返回的数据格式也五花八门,当然,如果你能直接让后台大哥改代码的话,就另当别论,大多数情况还是要Android端来背锅。这里,我们就聊聊这个。【Android架构】基于MVP模式的Retrofit2+RXjava封装(一)【Android架...原创 2019-02-15 16:16:51 · 266 阅读 · 0 评论 -
【Android视图效果】分组列表实现吸顶效果
效果图分析先来分析一下,可以看到这是一个按月份分组的2行图片列表,列表顶部一个悬浮栏,会随着列表滑动而刷新,点击顶部栏,弹出了一个筛选框。思路1.列表部分可以用RecyclerView+GridLayoutManager,月份的标题栏可以使用多布局首先是主体item的布局&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;and原创 2019-02-12 15:30:17 · 2387 阅读 · 0 评论 -
Android 常用开源库总结(持续更新)
前言收集了一些比较常见的开源库,特此记录(已收录380+)。另外,本文将持续更新,大家有关于Android 优秀的开源库,也可以在下面留言。一 、基本控件TextViewHTextView 一款支持TextView文字动画效果的Android组件库。ScrollNumber 滚动数字控件ticker 滚动数字控件ReadMoreTextView 阅读更多,折叠文本Expandab...原创 2019-04-04 15:58:40 · 1815 阅读 · 1 评论 -
【Android进阶】RecyclerView之ItemDecoration(一)
前言RecyclerView 对大家来说,基本使用应该已经比较熟悉,这里就直接跳过,说说ItemDecoration,也算是温故而知新。【Android进阶】RecyclerView之ItemDecoration(一)【Android进阶】RecyclerView之缓存(二)【Android进阶】RecyclerView之绘制流程(三)什么是ItemDecoration从字面意思来...原创 2019-04-29 17:53:17 · 425 阅读 · 0 评论 -
【Android进阶】RecyclerView之缓存(二)
前言上一篇,说了ItemDecoration,这一篇,我们来说说RecyclerView的回收复用逻辑。【Android进阶】RecyclerView之ItemDecoration(一)【Android进阶】RecyclerView之缓存(二)【Android进阶】RecyclerView之绘制流程(三)问题假如有100个item,首屏最多展示2个半(一屏同时最多展示4个),Rec...原创 2019-04-29 17:54:19 · 1306 阅读 · 0 评论 -
【Android进阶】RecyclerView之绘制流程(三)
前言上一篇,说了RecyclerView的回收复用,这一篇,我们来说说RecyclerView的绘制流程。【Android进阶】RecyclerView之ItemDecoration(一)【Android进阶】RecyclerView之缓存(二)【Android进阶】RecyclerView之绘制流程(三)onMeasure我们先看看RecyclerView#onMeasure()...原创 2019-04-29 17:54:53 · 543 阅读 · 0 评论 -
【Android 进阶】仿抖音系列之视频预览和录制(五)
大家好,又见面了。在前几篇中,我们通过2种方式实现了仿抖音的翻页切换视频,仿抖音列表播放视频功能,这一篇,我们来说说视频的录制。主流的视频录制,一般都采用的是FFmpeg 例如 腾讯短视频,由于FFmpeg的学习成本较大,这里我们就说说系统自带的MediaRecorder。首先,需要实现摄像头的预览,这里我们就用SurfaceView 。1.在布局中引入&lt;android.supp...原创 2018-11-05 17:46:55 · 2110 阅读 · 0 评论 -
【Android 进阶】仿抖音系列之翻页上下滑切换视频(四)
大家好,我们又见面了。这是这个系列的第四篇,在这篇文章之前,建议可以先看下之前系列的文章,为了节省篇幅,之前详细说过的地方,这里就不再详细描述了,下面是目录:【Android 进阶】仿抖音系列之翻页上下滑切换视频(一)【Android 进阶】仿抖音系列之列表播放视频(二)【Android 进阶】仿抖音系列之列表播放视频(三)这一篇,要说实现的是第一篇中的翻页切换视频。在第一篇中,我们用的...原创 2018-10-29 18:04:18 · 2704 阅读 · 0 评论 -
【Android 进阶】仿抖音系列之列表播放视频(二)
上一篇中,我们实现了仿抖音上下翻页切换视频的效果,详见【Android 进阶】仿抖音系列之翻页上下滑切换视频(一),这一篇,我们来实现抖音列表播放视频。之前也在github上找到一个demo,这是链接,原理和我的一样,只是用起来比较麻烦。。。先说下原理,这里用到了RecyclerView的onScrolled和onScrollStateChanged 监听,在onScrolled中判断当前可见...原创 2018-10-15 14:43:10 · 3830 阅读 · 2 评论 -
【Android自定义控件】android 可签到的自定义日历控件
首先是MainActivity,源码如下<pre name="code" class="java">public class MainActivity extends Activity { private SignCalendar calendar; private String date; private int years; private String months;...原创 2016-07-01 16:22:00 · 1171 阅读 · 1 评论 -
【Android动画】仿MIUI8挂断电话动画
用过MIUI8的都大概留意到了这个动画,看着很炫,于是花了一天时间做了个。先上效果图:整个动画可以分成2部分,第1部分是个类似于波纹的动画,让他反过来就可以了。这里用到了CardView,CardView是5.0新增的控件,继承与FrameLayout。首先是添加引用:[代码]xml代码:compile 'com.android.support:cardview-v7:24.1.1'布局文件:[代...原创 2016-11-03 10:16:30 · 618 阅读 · 0 评论 -
【Android工具类】总结下Intent可以打开的系统项
喜欢的可以收藏下[代码]java代码:/** * 调用系统浏览器 * * @param context * @param url */ public static void openWeb(Context context, String url) { // 调用浏览器 Uri webViewUri = Uri.parse(url); Intent intent ...原创 2016-11-03 10:21:14 · 330 阅读 · 0 评论 -
Android 实现显示密码和隐藏密码
开发中遇到了这个问题,特此记录下。效果图:代码:[代码]java代码:if (!isshowpwd) { isshowpwd = true; etNormalPwd.setTransformationMethod(HideReturnsTransformationMeth原创 2016-11-03 10:22:40 · 646 阅读 · 0 评论 -
【Android自定义控件】仿京东首页的京东快报,自动向上滚动的广告条
最近项目中要做这样滚动的广告条,git上搜了搜,还真搜到个。效果图:原项目地址原理是用的一个只显示一条的listview,使用ListView的smoothScrollBy(int distance, int duration)方法,实现滚动。 注意:通过smoothScrollBy方法滚动时,由于布局中的高度时dp,但这里面的第一个参数是sp,因此需要将dp转sp,转换完毕后的是float,但方...原创 2016-11-03 10:24:29 · 751 阅读 · 0 评论 -
WebView 选择相册图片踩坑
最近在为公司的几个H5项目做app打包,然后就踩到这个坑了。项目中有 h5调用相册选择图片,然后上传这个功能,测试说上传不了图片。然后搜了不少资料,折腾了一下午,终于搞好了,特此记录下。坑1:原生WebView 的选择文件功能需要我们自己实现代码如下:wv_main.setWebChromeClient(new WebChromeClient() {原创 2017-02-23 16:59:56 · 2189 阅读 · 0 评论 -
【Android自定义控件】炫酷的底部导航栏
https://github.com/WakeHao/NavBar基本使用使用这个控件,只需要简单的几部引入该控件到你的项目中compile 'com.chen.wakehao.library:bottom-navigation-bar:1.0.0'res/meun/demo_menu.xml:<?xml version="1.0" encoding="utf-8"?><me...原创 2017-04-07 10:29:11 · 3029 阅读 · 7 评论 -
【Android视图效果】仿QQ空间滑动改变标题栏颜色
最近在倒腾公司之前的项目,发现之前的界面是个白色标题栏,不是很美观,所以做了些改进。先看效果图简单说下思路,整个布局大体上是ScrollView里面包含了一个ImageView和RecyclerView,所以先得到ImageView的高度,当ScrollView向上滑动时,设置标题栏的背景色、文字颜色,当超过ImageView的高度时,设置其背景为白色,字体为黑色。首先想到...原创 2018-03-22 15:58:37 · 734 阅读 · 0 评论 -
Android 版本更新之打开apk文件的前生今世
现在APP都少不了的一个功能就是版本更新,检测到有新版,从服务器下载下来APK,然后安装,今天就来聊一聊它。源码地址:github[Android6.0之前]首先是权限 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permi...原创 2018-03-19 16:31:33 · 1661 阅读 · 1 评论 -
【Android架构】基于MVP模式的Retrofit2+RXjava封装之文件下载(二)
上篇中我们介绍了基于MVP的Retrofit2+RXjava封装,还没有看的点击这里,这一篇我们来说说文件下载的实现。首先,我们先在ApiServer定义好调用的接口 @GET Observable&lt;ResponseBody&gt; downloadFile(@Url String fileUrl);接着定义一个接口,下载成功后用来回调public int...原创 2018-03-24 15:03:48 · 959 阅读 · 0 评论 -
【Android架构】基于MVP模式的Retrofit2+RXjava封装(一)
#最近有个新项目要做,搭建框架的时候,顺便梳理了下MVP模式,特此记录,欢迎大家指正。项目地址GitHub一 、首先是依赖 compile 'com.google.code.gson:gson:2.8.0' compile 'com.squareup.okhttp3:okhttp:3.4.1' compile 'com.yanzhenjie:permiss...原创 2018-03-21 16:38:10 · 1868 阅读 · 2 评论 -
【Android架构】基于MVP模式的Retrofit2+RXjava封装之文件上传(三)
最近手头事比较多,抽个空把之前系列也补充一下。先回顾下之前的【Android架构】基于MVP模式的Retrofit2+RXjava封装(一) 【Android架构】基于MVP模式的Retrofit2+RXjava封装之文件下载(二)今天要说的是文件上传1.单图上传首先ApiServer,要使用Multipart 注解 //上传图片(私有接口) @POST("i...原创 2018-07-16 10:04:30 · 333 阅读 · 1 评论 -
【Android Web】腾讯X5浏览器的集成与常见问题
近年来,混合开发也越来越用的更多,而原生webview的各种坑,比如说 上传图片、文件问题、视频全屏问题(什么在微信上打开都是好的,你这怎么全屏不了)、版本差异问题,所以还是建议使用腾讯x5浏览器。废话不多说,我们开始集成吧1.去官网上下载最新的jar、so文件等 链接点这里2.添加jar包、so文件,配置gradle 在build.gradle 中添加libs、配...原创 2018-07-30 08:32:38 · 2085 阅读 · 0 评论 -
【Android架构】基于MVP模式的Retrofit2+RXjava封装之常见问题(四)
先回顾下之前的【Android架构】基于MVP模式的Retrofit2+RXjava封装(一) 【Android架构】基于MVP模式的Retrofit2+RXjava封装之文件下载(二) 【Android架构】基于MVP模式的Retrofit2+RXjava封装之文件上传(三)今天要说的是使用Retrofit2和Okhttp 过程中遇到的一些问题。1.上传数组相信很多人...原创 2018-07-28 08:33:28 · 318 阅读 · 0 评论 -
【Android 进阶】仿抖音系列之翻页上下滑切换视频(一)
最近公司在做个短视频的项目,其中借鉴了很多抖音的设计,其中就有抖音的上下滑切换视频。先说下思路,这里用重写了ViewPager的onInterceptTouchEvent和onTouchEvent方法,使其可以上下滑动切换视图。代码如下/** * 作者: ch * 时间: 2018/7/30 0030-下午 2:53 * 描述: * 来源: */public class Ve...原创 2018-10-12 16:05:34 · 8679 阅读 · 6 评论 -
【Android 进阶】仿抖音系列之列表播放视频(三)
在上一篇【Android 进阶】仿抖音系列之列表播放视频(二)中,我们实现列表播放视频,这一篇我们来对其做些优化。当我们滑动列表播放视频时,如果你设置了状态栏显示网速的话,可以看到网速占用比较大,我们需要实现边播边缓存,下次播放时,就可以从缓存中取,减少网络使用。Github上已经有现成的缓存库,我们只要集成进来就好,这是链接 AndroidVideoCache1、创建MyApp 继承 Ap...原创 2018-10-18 10:28:50 · 4771 阅读 · 1 评论 -
【Android架构】基于MVP模式的Retrofit2+RXjava封装之多Url(七)
前言最近好几个朋友问我,多Url怎么处理,这里我们就说说这个。【Android架构】基于MVP模式的Retrofit2+RXjava封装(一)【Android架构】基于MVP模式的Retrofit2+RXjava封装之文件下载(二)【Android架构】基于MVP模式的Retrofit2+RXjava封装之文件上传(三)【Android架构】基于MVP模式的Retrofit2+RXja...原创 2019-05-09 11:52:15 · 390 阅读 · 0 评论