自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 资源 (11)
  • 收藏
  • 关注

原创 TabLayout设置下划线(Indicator)宽度

再战TabLayout之下划线宽度18年12月再编辑。时间久远---通过评论区知道28版本源码已经不适用,并且官方已经通过属性支持了,推荐使用官方属性。app:tabIndicatorFullWidth=false;原文(28以下版本的解决方案)这周的需求搞定之后,想到之前有一个小瑕疵,反正没什么事,索性较量较量如图官方原版就是小瑕疵,反射版本就是最终解决方案...

2017-04-26 23:55:35 52935 42

原创 分割线终结者---RecyclerView高度定制的“万能分割线”

此万能分割线为什么是高度定制,跟其他万能分割线有什么区别1、其他的万能分割线仅限于横向分割线和纵向分割线      文章介绍的万能分割线可以对每个item上下左右,360度无死角进行设置分割线(这是重要的地方)2、其他分割线无法对每个item自定义颜色     文章介绍的可以对没个item设定不同分割线的颜色     下面看Demo截图  GitHub项目链接

2017-03-20 13:33:21 4849 3

原创 基于jiecaovideo实现类似腾讯新闻视频item不可见小屏播放,item可见时小屏切换到itemy

此特效View为JCVideoPlayerListAutoWindowTiny继承自JCVideoPlayerStandard先上个效果图,基于开源项目jiecaovideo修改,类似于腾讯新闻效果Item滑出屏幕后自动小屏播放,Item再次滑入屏幕,则小屏切回Item播放先说用法,基本与节操官方一致官方调用代码:jcVideoPlayerStandard.setU

2016-08-30 20:24:23 2167 4

原创 抖音竖向滑动列表控件

两年没写博客了。记录个控件,省的自己去找竖向滑动的RecyclerView,已经在项目中用了一年半,没啥问题1、支持预加载回调,2、position变动回调没用androidx的重新导下包就行了import android.content.Context;import android.util.AttributeSet;import android.view.View;...

2019-04-22 18:18:11 1094 1

原创 细数WebView那些坑

1、addJavascriptInterface不生效出于安全考虑,为了防止Java层的函数被随便调用,Google在4.2版本之后,规定允许被调用的函数必须以@JavascriptInterface进行注解2、WebView导致的内存泄漏方法1、动态创建WebView对象,并在onDestroy中  removeView(WebView)  并且 调用webView.de

2017-05-17 10:02:59 1239

原创 WebView加载图片超过屏幕大小的问题

参考传送门公司项目中使用了WebView加载由服务器框架生成的一些网页代码  发现图片显示的贼长,以至于要往右滑动后才能查看全部图片百度后发现有让设置一些webview的设置的,但是没什么反映,但是参考传送门文章(由于本人不会html)可能是因为服务器生成的代码缺少,设置maxWith导致的,猜测图片加载的时候按照原图大小放置,咨询了公司的H5后得出以下代码

2017-04-21 09:58:29 2439 3

原创 Building Project Gradle project info

之前也写过一个Android Studio项目一直Building的解决办法,但是不全原因:当前项目的Gradle 版本跟你本地有的Gradle 版本不一致,所以一直下载,我觉得是as有点问题吧,我遇到那次去目录看就下了几百k解决办法1: 1.随便找一个你能运行的as项目2.打开gradle-wrapper.properties,文件目录:项目/gradle

2017-03-07 15:46:50 1270 1

原创 Android APK Signature Scheme v2

上周更新了Android Studio 2.3,后更新gradle也出了点问题,不过本文不讲这些今天发布版本的时候,发现编译多了选择如下可以看到多了签名版本的选择,因为刚开始默认勾选的v2(Full APK Signature),没多想一路next下去了结果在测试的6.0 我的4.4上都安装失败。回过头一看,签名改了可能,那就学习学习呗Android 7.0中引入了

2017-03-06 16:21:04 8181 3

原创 Android微信登录引起的内存泄漏

近日公司需求跟得不紧,就自己找事优化,重构,找内存泄漏(如有错误,烦请拍砖)内存泄漏工具之前的写的博客也有介绍 内存泄漏检测工具很好用,下面用LeakCanary找一个微信登录引起的内存泄漏(其实微信是有做释放操作,但是文档和demo中没有见到)泄漏信息图中可以看出自己应用的WeChatLoginActivity的实例没有回收掉导致的内存泄漏,再往上是WXApiImpV10中的

2017-02-25 12:07:53 4711

转载 Android ListView工作原理完全解析,带你从源码的角度彻底理解

站在巨人的肩膀上!转载自:http://blog.csdn.net/guolin_blog/article/details/44996879在Android所有常用的原生控件当中,用法最复杂的应该就是ListView了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况。ListView可以使用列表的形式来展示内容,超出屏幕部分的内容只需要通过手指滑动就可以移动到

2016-12-15 11:36:36 351

原创 Android 平台上的秒级编译方案 Freeline(蚂蚁聚宝团队开源)

一开始我是拒绝写这个文章的,不过在用的时候,遇到点小问题,记录下来。文章使用Freeline的0.8.3版本惯例粘贴一份介绍 如下Freeline是由蚂蚁聚宝Android团队开发的一款针对Android平台的增量编译工具。它可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设备上,有效地减少了日常开发中的大量重新编译与安装的耗时。Freeline能够为An

2016-12-13 13:42:24 1064

原创 Android动态修改icon--让你的app浪起来

公司APP最近做活动(12.12)要换APP图标,产品说活动前上一个版,放12.12的icon,等活动过了再更新一个版,换成平常的图标。顿时我就生气了,淘宝京东都可以动态换icon,直接让我写死?这不是对技术的蔑视吗?埋头研究动态换icon,准备写成功后摔产品脸上。哈哈哈yy的题外话。不过产品是让我写死,我就自己去研究动态换。 下面开始正题、百度了下了解android可以根据...

2016-12-09 15:32:58 22087 12

原创 人民币符号¥单横线?双横线?

事情发生在前几天公司是生鲜电商,微商城中人民币符号是¥而我是用的¥,也不知道怎么看到这个,我就查查资料第一;我是用输入法打出来的,(QQ输入法)中文模式下按Shift+数字4(非小键盘) 打出来的是¥第二;在我不会用Shift+数字4打人民币的符号的时候,通常是我百度钱符号然后复制出来,如下图第三;我在互动百科条例“货币符号”中看到的日元符号是¥人民币是¥,如下

2016-12-06 18:15:27 8472

原创 Android JSON解析不固定key

这问题不是我遇到了,一个朋友来问我的,原来的数据如下看到result我的第一反应 what the fuck! 服务器搞什么鬼,好好的JSONArray返回给JSONObject,关键key还不固定我第一反应回他,让服务器改,看朋友的反映,可能服务器不会改,那我就看看吧。问题出在我们并不知道JSONObject有多少组数据,也不知道key,我记得以前瞄过JSONObje

2016-12-01 09:37:40 3528

原创 Illegal onEvent method, check for typos: EventBus错误

错误并不是本人遇到的,是一个朋友遇到的(3.0以下的EventBus)他是这样的在Activity基类里面,设置是否注册EventBus,然后复写onEventMainThread然后这个方法里面是直接掉了另外一个OnEventComming方法,结果一运行就报错了,如下我直接转到EventBus查看,追踪到如下代码上图的代码,大概是通过反射获取所有方法,过滤不是p

2016-11-23 17:24:20 1523

原创 EventBus--手把手教你写个自己的EventBus

此文章适用于使用过EventBus,不了解原理。大牛勿喷。。。(本文章写的MyEventBus只是做为理解EventBus的原理,不适合用在项目中)没有用过请先移步至Github,官方已经对流程和使用已经做了详细的描述EventBus核心是反射1、注册的时候通过反射拿到类的方法(带Subscribe注解的)存起来2、发送(post)的时候遍历储存的,对类型一样的通过反射执行

2016-11-15 16:45:09 715 1

原创 TabLayout不正常显示标签->TabLayout和ViewPager的恩恩怨怨

近日用了下android.support.design.widget.TabLayout和ViewPager发现标签不显示 viewPager.setAdapter(adapter); tabLayout = (TabLayout) findViewById(R.id.tl_recharge); tabLayout.addTab(tabLayout

2016-11-04 10:05:32 2283

原创 Android自定义View底部连续圆环效果

废话不多说先上效果图蓝框部分为自定义View 红框部分为效果所在直接上源码核心也就40多行import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import android.graphics.Color;import an

2016-11-01 09:32:37 878

原创 RecyclerView The specified child already has a parent. You must call removeView() on the child's pa

inflat最后一个参数为false即可LayoutInflater.from(context).inflate(layoutId, parent,false)今天在做一个小列表的时候,本来以为分分钟解决的事遇到这个错误定位到 at android.support.v7.widget.RecyclerView$5.addView(RecyclerView.java:638)就是ad

2016-09-03 17:25:33 1471

原创 jiecaovideo开源项目笔记-JCVideoPlayer分析-小屏逻辑

这里的小屏指的是全屏切换到小屏幕其实上篇博客小屏切换全屏看明白了,其实这个都无所谓看不看,直接切换到小屏的视频输出就好了public static boolean backPress() { Log.i(TAG, "backPress"); if (JCVideoPlayerManager.listener() != null) {

2016-08-24 22:23:21 9591 4

原创 jiecaovideo开源项目笔记-JCVideoPlayer分析-全屏逻辑

先上代码还是在onClick方法中 if (i == R.id.fullscreen) { Log.i(TAG, "onClick fullscreen [" + this.hashCode() + "] "); if (currentState == CURRENT_STATE_AUTO_COMPLETE) return;//应该是播放完瞬间点

2016-08-24 20:34:33 10262 2

原创 jiecaovideo开源项目笔记-JCVideoPlayer分析-播放逻辑

init方法什么的就不说了,就是控件初始化先来看看每次都用的setUp方法第一个setUp中对当前的状态,以及更新ui和状态,第二个就是多了对资源请求头的添加再来看看点击播放按钮的处理,找到onClick方法中的i == R.id.start其实注释算很明白的了,分别是对正常播放和播放错误、播放中、暂停、以及播放完成。对start按钮的处理这里面重要的就是pre

2016-08-23 23:31:44 6219 4

原创 jiecaovideo开源项目笔记-JCVideoPlayer小修改

开源作者初衷并不想任何开发者修改JCVideoPlayer,恰巧一个群友遇到个问题需要在点击播放按钮后,然后请求视频地址,然后播放。这里提供修改方案(不推荐这种方案。因为更新JCVideo麻烦。尽量继承JCVideoPlayerStandard或copy JCVideoPlayerStandard进行修改)1、将JCVideoPlayer中onClick(View v)的 if (i

2016-08-23 16:56:04 4523 3

原创 jiecaovideo开源项目笔记-JCVideoPlayerStandard

源码部分从JCVideoPlayerStandard入手JCVideoPlayerStandard是作者做了一个详细的自定义播放UI的封装,代码也是比较易懂先来看看节操播放器经常用的setUp,setUp具有返回值,代表是否初始化过,这点从Demo中都可以看出来运用节操播放器不允许第三个参数为不传,第三个参数目前来看[0]为标题,当然你不需要标题可以传入空字符c

2016-08-18 14:04:43 16097 22

原创 jiecaovideo开源项目笔记-Demo部分

随手一写还不知道能坚持写不1、先从AndroidManifest.xml入手先看DemoApplication缩进一看,也没多少东西。29行基本是ImageLoader的初始化。这里不做介绍。说下28行,是关于内存泄漏检测工具的初始化。关于LeakCanary  详见另外一篇博客http://blog.csdn.net/u013134391/article/detail

2016-08-17 23:59:39 1347

原创 android studio checkout svn 后无更新提交图标

这里先说下android studio 解除svn关联找到项目目录.idea文件夹中vcs.xml将vcs="svn" 改为vcs=""    然后在项目目录  邮件->delete svn folders  即可这次遇到checkout svn   后没有 更新提交的两个图标  而且右键也没有提交选项 忽然想到解除关联是跟 vcs.xml 有关 。故  去目录查看发现vc

2016-08-15 12:08:25 2212

原创 uses-sdk:minSdkVersion 14 cannot be smaller than version 21 declared in library

这是ijk对于arm64的包 对最低版本限制的问题ijk的人解释说arm64就是21版本才支持的。所以最低版本是21但是总不能把项目最低版本依赖到21吧  4.1和1.2在市场的占比还高达15%ijk的人也提供了一个解决办法在AndroidManifest.xml中添加tools:overrideLibrary="tv.danmaku.ijk.media.player_ar

2016-08-01 11:57:53 8943 6

原创 java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/tv.danmaku.ijk.media.sample-2/lib/x86/libij

这是ijk的包缺少armX86-64的问题添加对应的即可

2016-08-01 11:54:42 4277

原创 setResult(RESULT_OK, intent)回调不执行问题

1、requestCode必须大于02、setResult(RESULT_OK, intent)的Activity的启动模式必须是默认模式

2016-07-13 11:25:22 3178

原创 SVN e155004 locked

提交svn时候,如果过程被中断,出现SVN e155004 lockedAndroid Studio中Cleanup N次 无效在cmd中 对项目Cleanup 后正常提交

2016-06-20 14:49:58 1118

原创 OOM,内存泄漏检测工具:LeakCanary

尊重原创作者,转载请注明出处:千里之堤,毁于蚁穴qiān lǐ zhī dī,huǐ yú yǐ xué。释义:一个小小的蚂蚁洞,可以使千里长堤毁于一旦。比喻小事不注意会造成大乱子。出处:《韩非子·喻老》====摘自百度百科点击打开链接这里先介绍下内存溢出和内存泄漏的区别内存溢出:程序在运行过程中造成应用进程使用的内存超过上限内存泄漏:当某些对象在,使用完改释放的时

2016-06-05 13:40:05 1870

原创 ListView中视频播放的解决方案

真正实现Android的全屏功能,立志成为Android平台使用最广泛的视频播放控件主要特点全屏时启动新Activity实现播放器真正的全屏功能可以完全自定义UI能在ListView、ViewPager和ListView、ViewPager和Fragment等多重嵌套模式下全屏工作手势修改进度和音量视频大小的屏幕适配,宽或长至少有两个对边是充满屏幕的,另外两个方向居中可以在加载、暂停、播放等各种状态中正常进入全屏和退出全屏支持hls,rtsp占用空间非常小,不到60k设置http头信

2016-06-04 22:59:02 8248 6

原创 AndroidStudio中多个Module依赖同一个jar的解决方案

AndroidStudio中Module相当于Eclispe中的Library,这里不做过多介绍多个Module依赖同一个jar,直接把jar放入对应需要的Module会导致编译报类冲突这里就要讲一讲AndroidStudio中的依赖的几种方式compilecompile是对所有的build type以及favlors都会参与编译并且打包到最终的apk文件中。

2016-05-30 15:59:13 32906 8

原创 AndroidStudio导入项目一直Building解决方案

解决方案:1.随便找一个你能运行的as项目2.打开gradle-wrapper.properties,文件目录:项目/gradle/wrapper/gradle-wrapper.properties3.复制distributionUrl这一整行的内容,eg: distributionUrl=https\://services.gradle.org/distributions

2016-05-12 19:14:41 11503 2

原创 NullPointerException at com.android.volley.Request.<init>(Request.java:130)

今天用volley发现莫名其妙的报 NullPointerException如下图自己查了自己的变量发现并没有null,偶然发现url是没有域名的(如http://www.baidu.com/index.php只写了/index.php)。问题解决。就再来看看为什么url没有域名 volley报NullPointerException  android.volley.Req

2016-04-20 10:52:15 1681 1

原创 ListView优化-在滚动的时候不加载图片

忽然想起,两年前面试遇到问ListView优化,普遍不都是holder和view重用,一一回答。又问如果图片过多,想在ListView滚动的时候不去加载图片怎么搞,一时间把我个菜鸟问住了。现在想起来这问题,就来处理下。现在一想easy啊 在adapter里面监听touch或者Scroll的事件,在里面判断listview没有滑动就不加载,如果是没滚动就加载。要注意的是listivew是

2016-03-25 13:07:11 634

原创 Android ViewPage禁止重复加载

Viewpage的加载模式是这样。跟listview类似比如当前页面为第一个,如果第二个不存在就会预加载第二个,如果第三个页面或者第四个页面存在会销毁他们。当前页面为第二个,会保留第一个页面,如果第一个页面不存在就会预加载,如果第三个页面不存在就预加载第三个页面。        当前页面为第三个,会保留第二个页面,r如果第一个页面不存在就会预加载,如果第一个页面存在就会销毁第一个页面。

2015-10-19 18:35:32 781

原创 Android ORM 框架ActiveAndroid

android orm框架activeAndroid的使用

2015-06-30 12:17:43 740

原创 Item控件抢占焦点的解决方案

1. android:focusable=false2.在根节点root添加android:descendantFocusability=”blocksDescendants”原因是在listview的touch源码判断如果有子控件并且子控件有获取焦点的能力  listview就不对事件做处理。

2015-05-25 13:04:31 560

原创 Adapter万能适配器,只要3行

还在写适配器无聊代码? 还在浪费时间?三行代码搞定无聊适配器

2015-05-21 15:12:41 1169 2

TabLayout修改下划线

TabLayout修改下划线

2017-09-09

APK Signature Scheme v2验证工具

APK Signature Scheme v2验证工具

2017-03-06

jiecaovideo开源项目加注释版本

jiecaovideo开源项目加注释版本 官方地址https://github.com/lipangit/JieCaoVideoPlayer

2016-08-27

android自定义View画板

android 自定义view 画板

2014-12-23

android4.0关联eclipse源代码

免积分!这个是android4.0关联eclipse做查询API用的源代码。不是整个系统的源代码

2014-10-14

Swift 中文pdf版

Swift 中文pdf版 免积分下载!

2014-06-23

The Swift Programming Language 中文版

swift 免积分下载

2014-06-23

反编译签名

反编译签名

2014-04-27

高仿拉手网底部菜单栏

高仿拉手网底部菜单栏

2014-04-14

Wifi密码破解源码带文档

Wifi密码破解源码带文档

2014-03-08

自定义Dialog

自定义的dialog界面,很好看自定义的dialog界面

2014-03-08

空空如也

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

TA关注的人

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