Android
ListeneR_
这个作者很懒,什么都没留下…
展开
-
AAR文件转JAR文件的方法
Android Studio添加依赖、引用库文件非常方便,但是如果想要把引用的库导出jar包放入Eclipse中使用并不容易。以导出ZxingLib这个库文件为例: 库文件存在于gradle文件夹下,通常位于C:\Users\Administrator.gradle\caches\modules-2\files-2.1下,如 进入~\com.github.nicccccccccce.zx原创 2016-05-03 09:32:00 · 20284 阅读 · 1 评论 -
Android 数字跳动显示:DancingNumberView
简介DancingNumberView是一个用于跳动显示文本中数字的控件,继承自TextView.这种控件一般用于显示金额等对用户较为敏感的数字,让UI交互更加生动. 它具有以下几点特性: - 自动获取文本中的所有数字,并同时开始跳动,免去多个TextView拼接的麻烦 - 支持数字按照自定义的格式显示,例如限定只显示小数点后两位效果预览导入使用Gradle第1步,在project的build原创 2017-01-19 22:00:20 · 2503 阅读 · 0 评论 -
ListView+EmptyView与SwipeRefreshLayout滑动冲突问题
当SwipeRefreshLayout只有ListView一个子view的时候是没有任何问题的,但如果不是一个子view就会出现问题了,向上滑动ListView一切正常,向下滑动的时候就会出现还没有滑倒ListView顶部就触发下拉刷新的动作了。从SwipeRefreshLayout源码可以看到在onInterceptTouchEvent里面有这样的一段代码if (!isEnabled() || m转载 2017-02-18 11:45:40 · 674 阅读 · 0 评论 -
Android Spinner监听重复选择某一项的方法
问题使用Android SDK自带的Spinner控件时,如果当前已经选中了一项,再次点开Spinner的下拉菜单并选中相同一项时,不会触发OnItemSelectedListener 的onItemSelected()回调方法,因此无法获知用户再次选中了相同项.一般情况下,如果用户选中相同项,我们确实不需要做任何操作,因此也就不关心该项是否再次 被用户选择.但是有些时候,仍需要获取这样的监听.原创 2017-02-17 14:02:13 · 4816 阅读 · 0 评论 -
Lottie开源动画库使用教程
碉堡的Lottie.Airbnb最近开源了一个名叫Lottie的动画库,它能够同时支持iOS,Android与ReactNative的开发.此消息一出,还在苦于探索自定义控件各种炫酷特效的我,兴奋地就像发现的新大陆一般.可以说,Lottie的出现,将极大地解放Android/iOS工程师于无尽的编写原生自定义动画的工作中.原创 2017-02-06 20:58:59 · 8863 阅读 · 0 评论 -
TabLayout.setTabTextColors()的一个Bug
tabLayout.setTabTextColors(getResources().getColor(R.color.colorSecondaryText),getResources().getColor(R.color.colorPrimary));这行代码在使用com.android.support:design:23.3.0以上版本的依赖时(25.*.*经过验证),不能达到预期效果,表现形式为原创 2017-01-06 11:36:55 · 2041 阅读 · 0 评论 -
Android Studio支持Java8特性的Gradle配置
在project的build.gradle文件中添加: buildscript { repositories { mavenCentral() jcenter() maven { url "https://jitpack.io" } } dependencies {原创 2017-01-06 09:30:53 · 2588 阅读 · 0 评论 -
Android Things简介
谷歌已经开发了多款操作系统,而Android Things则是她最新发布的一款. 谷歌为智能手机与平板电脑提供Android OS;为可穿戴设备提供Android Wear 系统,例如智能手表; 为笔记本与台式机提供ChromeOS;为机顶盒与电视机提供Android TV系统…而现在, Android Things将为智能硬件设备和物联网(Internet of Things,IoT)配件提翻译 2016-12-16 10:16:36 · 6653 阅读 · 1 评论 -
Android Travis CI与fir.im、GitHub集成
build.gradle配置注意是在app的build.gradle中配置,以下是一个实例:android { compileSdkVersion 23 buildToolsVersion "23.0.3" signingConfigs { releaseConfig { storeFile file("../keys/imoqi.jks原创 2016-11-19 15:02:33 · 1315 阅读 · 0 评论 -
Tinker 热修复框架 简单上手教程
导言前不久,腾讯推出了”微信小程序”这一概念,对移动原生应用的影响可谓巨大.而几乎就在同时, 腾讯在GitHub上开源了第一个项目Tinker, 这是一个Android平台的应用热修复框架.可以在不重新安装应用的情况下,对应用的代码/库 /资源进行更新.相关信息官方也已经给出详细介绍. 得到这个消息时,笔者也尝试学习它给的Sample,希望能够使用到自己的项目中去.毕竟热修补是 如今原生应原创 2016-09-28 01:43:05 · 4163 阅读 · 14 评论 -
Glide获取缓存大小并清除缓存图片
清除Glide缓存Glide自带清除缓存的功能,分别对应Glide.get(context).clearDiskCache();(清除磁盘缓存)与Glide.get(context).clearMemory();(清除内存缓存) 两个方法.其中clearDiskCache()方法必须运行在子线程,clearMemory()方法必须运行在主线程,这是这两个方法所强制要求的,详见源码.获取Glide缓原创 2016-10-11 00:32:35 · 13125 阅读 · 5 评论 -
DialogFragment去除默认标题栏并横向充满屏幕
这种自定义的对话框的需求还是挺多的,尤其是在需要改变对话框标题的颜色/字体/大小的时候. 设置的方法如下两步:1.在DialogFragment的onStart方法中添加 @Override public void onStart() { super.onStart(); DisplayMetrics dm = new DisplayMetrics()原创 2016-10-09 17:24:17 · 8898 阅读 · 1 评论 -
StickyListView与SwipeRefreshLayout+EmptyView的滑动冲突问题
承接上文,当使用StickyListView而非ListView时,在StickyListView 的OnScrollListener的onScroll()方法中要做如下修改,与使用ListView时情况不一样. lv.setOnScrollListener(new AbsListView.OnScrollListener() { @Override原创 2017-02-23 17:16:47 · 559 阅读 · 0 评论