自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 StickyListView与SwipeRefreshLayout+EmptyView的滑动冲突问题

承接上文,当使用StickyListView而非ListView时,在StickyListView 的OnScrollListener的onScroll()方法中要做如下修改,与使用ListView时情况不一样. lv.setOnScrollListener(new AbsListView.OnScrollListener() { @Override

2017-02-23 17:16:47 558

转载 ListView+EmptyView与SwipeRefreshLayout滑动冲突问题

当SwipeRefreshLayout只有ListView一个子view的时候是没有任何问题的,但如果不是一个子view就会出现问题了,向上滑动ListView一切正常,向下滑动的时候就会出现还没有滑倒ListView顶部就触发下拉刷新的动作了。从SwipeRefreshLayout源码可以看到在onInterceptTouchEvent里面有这样的一段代码if (!isEnabled() || m

2017-02-18 11:45:40 672

原创 Android Spinner监听重复选择某一项的方法

问题使用Android SDK自带的Spinner控件时,如果当前已经选中了一项,再次点开Spinner的下拉菜单并选中相同一项时,不会触发OnItemSelectedListener 的onItemSelected()回调方法,因此无法获知用户再次选中了相同项.一般情况下,如果用户选中相同项,我们确实不需要做任何操作,因此也就不关心该项是否再次 被用户选择.但是有些时候,仍需要获取这样的监听.

2017-02-17 14:02:13 4814

原创 Lottie开源动画库使用教程

碉堡的Lottie.Airbnb最近开源了一个名叫Lottie的动画库,它能够同时支持iOS,Android与ReactNative的开发.此消息一出,还在苦于探索自定义控件各种炫酷特效的我,兴奋地就像发现的新大陆一般.可以说,Lottie的出现,将极大地解放Android/iOS工程师于无尽的编写原生自定义动画的工作中.

2017-02-06 20:58:59 8861

原创 阿里云OSS搭建HEXO静态博客的图床

工作流程 python 监控文件夹 –> 文件新增(FS capture 截图自动保存该目录) –> 使用 oss sdk 上传到 阿里云oss –> 生成外链到粘贴板 –> 复制图片外链到博客安装 pip install oss4blog配置登录阿里云OSS 新建一个Bucket获取此Bucket的Endpoint并在Access Key管理中获取accessKey ,sec

2017-02-05 13:37:57 3750

原创 Android 数字跳动显示:DancingNumberView

简介DancingNumberView是一个用于跳动显示文本中数字的控件,继承自TextView.这种控件一般用于显示金额等对用户较为敏感的数字,让UI交互更加生动. 它具有以下几点特性: - 自动获取文本中的所有数字,并同时开始跳动,免去多个TextView拼接的麻烦 - 支持数字按照自定义的格式显示,例如限定只显示小数点后两位效果预览导入使用Gradle第1步,在project的build

2017-01-19 22:00:20 2502

原创 Python解析音悦台MV视频地址与封面

音悦台的MV网页链接是连续的,形如http://v.yinyuetai.com/video/2770558,最后面的id最多由七位数字组成. 参考网上Java版本的抓取代码,现用Python实现如下:#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2017/1/12 0012 下午 4:24# @Author : Trojx

2017-01-13 10:55:57 2000 1

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

原创 Android Studio支持Java8特性的Gradle配置

在project的build.gradle文件中添加: buildscript { repositories { mavenCentral() jcenter() maven { url "https://jitpack.io" } } dependencies {

2017-01-06 09:30:53 2586

翻译 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

原创 Glide获取缓存大小并清除缓存图片

清除Glide缓存Glide自带清除缓存的功能,分别对应Glide.get(context).clearDiskCache();(清除磁盘缓存)与Glide.get(context).clearMemory();(清除内存缓存) 两个方法.其中clearDiskCache()方法必须运行在子线程,clearMemory()方法必须运行在主线程,这是这两个方法所强制要求的,详见源码.获取Glide缓

2016-10-11 00:32:35 13124 5

原创 DialogFragment去除默认标题栏并横向充满屏幕

这种自定义的对话框的需求还是挺多的,尤其是在需要改变对话框标题的颜色/字体/大小的时候. 设置的方法如下两步:1.在DialogFragment的onStart方法中添加 @Override public void onStart() { super.onStart(); DisplayMetrics dm = new DisplayMetrics()

2016-10-09 17:24:17 8898 1

原创 Tinker 热修复框架 简单上手教程

导言前不久,腾讯推出了”微信小程序”这一概念,对移动原生应用的影响可谓巨大.而几乎就在同时, 腾讯在GitHub上开源了第一个项目Tinker, 这是一个Android平台的应用热修复框架.可以在不重新安装应用的情况下,对应用的代码/库 /资源进行更新.相关信息官方也已经给出详细介绍. 得到这个消息时,笔者也尝试学习它给的Sample,希望能够使用到自己的项目中去.毕竟热修补是 如今原生应

2016-09-28 01:43:05 4163 14

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

原创 指向运算符会移动指针吗?

不会。 如果p指向一个结构体变量stu,以下三种用法等价: 1. stu.成员名 如stu.num 2. (*p).成员名 如(*p).num 3. p->成员名 如p->num(*p).name 等价于 p->name "->"称为指向运算符所以指向运算符不会移动指针。可进行如下试验 include <stdio.h> int main() { struct Stude

2016-05-03 09:28:32 420

原创 2016/3/3

明天就要交开题报告了,纠结一上午,下午还是决定跑来图书馆赶报告。原本以为今天剩下的时光就将这样匆忙中度过,没想到今天的囧事才刚刚开始。首先是去F楼解挂一卡通,这事是因为我前几天为了图个方便,不想跑去食堂终端充电费,匆忙安装了一个能冲宿舍电费的手机App,结果一登录后手抖不小心点到挂失上去了。没办法,今天要去图书馆,先得找人解挂。解挂完了径直奔向图书馆,结果门禁依然显示挂失卡。当时心情真可以用rlgl

2016-05-03 09:24:24 393

原创 Recyclerview.getLayoutPosition()问题

使用Recyclerview 时,如果要添加item的点击监听等功能,可以在Recyclerview.Adapter的onBindViewHolder中设置例如:@Overridepublic void onBindViewHolder(final MyViewHolder holder, int position) { holder.tv.setHeight(150*(1+

2016-02-22 23:43:01 16261

原创 AndroidStudio NDK-JNI简单实例

学习使用AndroidStudio中的NDK,在网上看到不少示例,自己照着做了一遍,一些地方作者们没有陈述清楚,于是自己做一遍,记录下来,也方便日后查看。完整项目源码 https://github.com/JianxunRao/SimpleAndroidNDKDemo1.创建NDKUtils和NDKTestActivity前者有一个本地方法getStringFromC();返回一个字符

2016-02-21 21:43:12 655

原创 安卓检测用户吹气功能的实现:吹一吹

这是一个有意思的小功能,它本身乍一看似乎没有什么实际用途,但却可以用在很多其他地方:例如检测肺活量。首先需要在清单文件中申明一下权限:uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />uses-permission android:name="android.permission.RE

2016-02-17 20:07:48 2003

原创 方言APP应用方言说使用指南

中国幅员辽阔、人口众多,中国人的说话口音也随着地域的不同而变化万千。每当我们到了一个生疏的地方,如果能够掌握一定的当地方言,不仅能促进我们和当地人的交流,更能拉近彼此的关系。 因此最近我们开发了《方言说》这款方言应用。通过这款应用,使用者不仅能够查询到中国八大方言的十万余词条,还能听到真人发音。除此之外,还能与来自中国各地的使用者交流方言故事,体会中国各地的方言文化。使用者还能方便地向词典加入新的词条与发音。

2016-02-09 11:37:48 1826

原创 Genymotion调用本地文件的两种方法

最近需要从本地计算机导入大量文件到安卓平台上,一开始用的是真机,发现从本地计算机复制大量的小文件效率非常的低,而如果先压缩打包好,再在安卓机中解压,则安卓解压的效率也很低。于是转念一想,能否导入到Genymotion的虚拟设备上去。经过查找资料,发现有两种方法:一、直接将本地文件复制到虚拟设备上通过直接拖动文件至虚拟设备窗口完成文件导入,所导入的文件将被作为下载的文件存放在sdca

2016-01-18 10:59:56 4803

原创 HtmlParser与HtmlLexer类名重复编译失败的解决办法

在Android中同时使用HtmlParser与HtmlLexer来解析网页时,最后编译的时候会报错:Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'. 经查是由于两个jar包下存在重名的一个名叫SimpleNodeIterator.class的类文件.在Sta

2016-01-04 16:52:34 658

原创 使用Android ViewPager与PhotoView实现图片滑动查看

安卓新手,最近在写一个小的个人项目,其中需要全屏查看一组网络图片。其实就是简单的图片查看功能。在网上搜了实现方法,最终在Github上找到了一个叫做Touch Gallery的项目,它不仅能够载入本地图片,还能载入网络图片,完全符合我的需求。可惜这个项目年代久远,作者也已经不再维护,加之我在将这个Eclipse平台编译的项目导入到Android Studio中时遇到了一些麻烦。遂决定另寻它法。 这里主要还是用到了Android自带的ViewPager控件,用于实现水平切换,并且它自带了滑动效果。将每一张需

2016-01-03 17:02:00 13347 3

原创 Java爬虫被服务器拒绝访问 403错误 学习笔记

在短时间请求大量网页后,再次被服务器拒绝访问,依旧报403错误。此时通过浏览器访问该网站,同样显示403错误。考虑到服务器应该是屏蔽了本机IP地址,因此尝试降低请求频率,在代码中加入sleep()方法,在每次请求后,等待一段时间。并且由于被服务器拒绝访问后并不能通过程序解决,因此在获取到服务器非正常response status时,加入System.exit(0);直接让程序退出。

2015-12-20 11:00:23 10253

空空如也

空空如也

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

TA关注的人

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