android
文章平均质量分 75
小钟视野
优秀的人,不怕孤独,亦更优秀
展开
-
android之activity 跨Activity传result
重要的标志:INTENT_FLAG_FORWORD_RESULT这个标志有一个特殊的作用,就是能够跨activity传递result.。比如A1->A2,此时如果从A2中启动A3,并且设置的启动标志为FORWORD_RESULT,那么A3运行时,可以在A3中调用setResult,然后在finish,其结果会从A3直接返回到A1,并且A1会得到A3中setResult中的result。满足这种原创 2016-01-13 09:49:27 · 1070 阅读 · 0 评论 -
android之刮刮卡中奖效果PorterDuffXfermode与paint属性详解
PorterDuffXfermode原创 2016-07-07 13:16:23 · 605 阅读 · 0 评论 -
andorid之app抽离module及自动化加载全部资源
一、来源: 随着公司的发展,项目越来越大以及项目组之间要公用代码,那么最好的方式将其它项目组所需要的功能抽离成一个module公共库,直接提供给他们用,这时候就会遇到重复性移动java类以及layout等等引用到的所需要的资源如drawable、layout、style、string、color、selector之类的,这如果手动移动很枯燥,也很耗时,主要是耗时,尤其是项目越大牵扯越多,资原创 2016-10-21 16:58:26 · 1510 阅读 · 0 评论 -
java泛型初探
1.泛型的理解java的一个高级用法就是泛型类,基本很多框架都会用泛型去搭建,比如Gson。。。。。泛型真是个好东西,可说是海纳百川了。。。所以作为一个android开发更有必要掌握这个东东泛型可以设计为一个共有的功能返回不同的类型泛型可说是一种对类型的约束,也可以说是一种对类型的容纳、扩展。。。我也说不好,纯粹是个人的理解约束:指的泛型要是有具体的类型,那么这个就是对泛型类的一种原创 2016-10-11 20:36:41 · 371 阅读 · 0 评论 -
android之换肤原理解读
如下是解读demo的链接,自行下载https://github.com/fengjundev/Android-Skin-Loader由于是开源的,而且对于想了解换肤功能的童鞋这个demo实在是通俗易懂,原理也很清晰,所以忍不住想要记录一下,题外话:附上一篇换肤技术总结的博客,这是一篇动态换肤与本地换肤(传统的theme)换肤优劣势的详细比较,需要的童鞋,可以详细拜读,至少知道来源原创 2016-10-22 17:21:59 · 5031 阅读 · 0 评论 -
android之LayoutInflater以及setFactory源码解读
android之LayoutInflater以及setFactory源码解读原创 2016-10-29 18:52:24 · 1807 阅读 · 0 评论 -
android之as自动化删除无用资源为apk瘦身
随着项目越来越大,一些无用的资源越来越多,有必要为apk瘦身了,网上一顿乱拔,有欢喜也有泪水,唉,要么是搭建python环境太复杂,要么是没有适用于android studio项目的自动化删除无用资源的。。。头痛的要死,手动一个个删除吧又不符合一个程序员懒惰的高雅气质,于是乎结合现有的,自己写一个自动删除的java demo,有不对的地方忘大家不吝赐教。。。使用也比较简单。。。。注:一定要是j原创 2016-10-09 20:29:28 · 5630 阅读 · 0 评论 -
android studio插件开发
之前写过一篇java项目的自动化删除lint到的无用资源,由于使用起来每次都得运行java项目,虽然也不麻烦,但是android studio支持插件开发,于是就想通过插件开发达到一键永逸,使用起来也很方便;正好同事也感兴趣所以一起研究插件开发,这也是我们android开发人员进阶的一项重要技能。毕竟有很多重复性工作,可以使用插件这玩意代替人工,效率也会大大的提高。。。比如前边有几篇用java写的原创 2016-11-21 12:19:45 · 1278 阅读 · 0 评论 -
android&java注解详解
通过拜读《java编程思想》中的注解篇,谈谈自己对注解中的理解!学习android经常会用到注解,但是对于注解也是半懵逼状态,至于它是怎么来的,怎么起作用是什么都不知道;比如熟悉的@Override,@Deprecated……等等只知道是注解,以及其起到的作用,至于它是或不是java中的语法,怎么由来怎么读取的其实是没探究的。本文起到一个抛砖引玉的作用,探索注解的由来以及如何自定义自己的注解原创 2016-12-03 18:26:45 · 1395 阅读 · 0 评论 -
android之多层module依赖改成依赖aar
这里只谈aar多层依赖关系!!实用性与复杂性留给读者自行判断。毕竟人无完人,方案也不是全都完美无缺的嘛1、背景 由于公司有两个项目组,想将这两个项目组的某些功能模块相互使用,比如A项目组要使用B项目组的个人中心,B项目组怎么办呢,我们的办法是将个人中心独立成一个lib的module单独提供给A项目组;ok,这也已经满足了。然后过了段时间A项目组又发现B项目组的朋友圈模块不错,又想将原创 2016-11-03 16:52:02 · 12249 阅读 · 3 评论 -
android之surfaceView详解--自定义surfaceView和用于视频surfaceview
android之surfaceView详解--自定义surfaceView和用于视频surfaceview,mediaPlayer详解原创 2016-07-13 17:02:29 · 15892 阅读 · 0 评论 -
android之属性动画和布局动画详解
1、属性动画是什么不废话,不懂的可以百度一下参考郭霖大神的动画详解篇;这里仅仅提供一个demo说说用法,抛砖引玉,代码的注释写的已经很详细,不再多说废话,一下提供的是一个基础的demo,讲解的是objectAnimator的基础用法,如平移、旋转、缩放、渐变以及动画的集合;至于objectAnimator(必须的有set get方法)和valueAnimator的详细区别也可参考郭霖大神的动画详解原创 2016-07-11 16:14:16 · 2574 阅读 · 0 评论 -
android控件拖动,移动、解决父布局重绘时控件回到原点
这是主要代码: 保证其params发生改变,相对于父布局的位置就能达到位置移动到原来的位置// 每次移动都要设置其layout,不然由于父布局可能嵌套listview,当父布局发生改变冲毁(如下拉刷新时)则移动的view会回到原来的位置RelativeLayout.LayoutParams lpFeedback = new RelativeLayout.LayoutParams(R原创 2016-01-14 19:52:25 · 7631 阅读 · 5 评论 -
android之标签icon在文本多行背后或首次位置显示
private void drawImageViewDone(int width, int height) { try { textWidth = content_top_tv.getTextSize(); paint.setTextSize(textWidth); // 一行字体的高度 int lineHeight = content_top_tv.getLine原创 2016-03-11 16:34:53 · 733 阅读 · 0 评论 -
android之通过clip自定义progress进度条样式
xml: <clip android:clipOrientation="vertical" android:drawable="@drawable/security_scaned_safe" android:gravity="bottom" /> package com.exam原创 2016-03-17 12:28:33 · 1622 阅读 · 0 评论 -
android之自定义自己的log的格式
// 类名:包括包名 private static String className; // 方法名 private static String methodName; // 打印的行号 private static int lineNumber; // 仅仅是类名 private static String fileName; /** * be used for : 获取方原创 2016-03-07 15:40:38 · 740 阅读 · 0 评论 -
android只title背景色随着滚动渐变颜色
scrollView.setScrollViewListener(new ScrollViewListener() { @Override public void onScrollChanged(MallHomePageScrollView scrollView, int x, int y, int oldx, int oldy) { float scale = (f原创 2016-03-11 16:31:05 · 1616 阅读 · 0 评论 -
android之绘制相关类
1、surface类,该类用于描述一个绘制平面,其内部仅仅包含了该平面的大小、在屏幕的位置以及一段屏幕缓冲内存区。但在java端,不能直接访问这段内存,同时也不能通过该类直接设置该平面的大小和位置,只能通过surfaceHolder类。 一般情况下Surface是有viewRoot类创建,但sdk没有开发接口,所以开发者无法通过ViewRoot直接创建Surface,而是通过surface原创 2016-04-27 10:13:28 · 440 阅读 · 0 评论 -
android之文本前面或后面多标签
之前写过一篇图文混排的,算法就是通过计算文本宽及行数,在换行的时候截取文本剩余的部分显示在图片下边,代码下载:demo今天这边是工作共常用到的,标签在前或在最后显示,比如帖子前边显示多个标签表示精华帖、优秀帖、解决标签等;其实主要是重写DynamicDrawableSpan,以及通过设置SpanableStringBuilder,来显示的。先上图代码如下:主要是原创 2016-05-24 15:54:58 · 3458 阅读 · 1 评论 -
android之自定义带文本的圆角进度条
自定义圆角进度条以及颜色渐变的进度条先上图,给个直观印象一、先来看看渐变的圆角 private void init(AttributeSet attrs) { mRadius = (int) ((getScreenSize(context).x * 0.6f) / 2);//屏幕的1/4 initPaint(); }原创 2016-05-26 11:02:36 · 2166 阅读 · 0 评论 -
android之事件分发的细节说明
1、在dispatchTouchEvent()中,当前action(down、move、up)返回true才会执行后边的action,若dispatchTouchEvent()直接return false,则后边的action不会得到执行 如:当用户按下 down时,dispatchTouchEvent() return false,则后边的move和up操作则不会执行,原创 2016-05-03 22:20:49 · 401 阅读 · 0 评论 -
android之仿微信双击放大字体及滑动冲突,文本显示不全
xml:在scrollview中要使用android:fillViewport="true" ,否则由于scrollview嵌套的布局使用了gravity="ceter"会出现文本显示不全以及底部还有很大的空白<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_w原创 2016-01-26 17:04:37 · 1899 阅读 · 0 评论 -
andorid之tab+fragment的使用及结合viewpager,滑动时候重新oncreateView的优化
一、tab+fragment的show()、hide()的使用 /** * 所有帮 * * @author zhongwr * */public class AllBangTabAct extends BaseActivity implements LmbRequestCallBack, JoinOrExitBangLister { /** 当前选中的t原创 2015-11-05 10:48:14 · 750 阅读 · 0 评论 -
android之AIDL跨进程通信详解
背景一直以来都只是听说AIDL是跨进程的,但都由于项目中也没涉及到,所以也从来都没彻底去了解过,最近空闲下来去了解插件化开发原理,看着看着正好涉及到Ibinder以及android用到的AIDL,于是乎按图索骥一条条来探索到底是个怎么回事儿,按照读者推荐,我们就先从AIDL使用以及原理开始挖掘。前言对于跨进程,我们都知道android底层是linux,所以进程管理也是linux系统的那一套,即进程原创 2017-02-23 18:18:53 · 7699 阅读 · 0 评论 -
android之多渠道打包---秒打秒打
链接参考地址: https://github.com/HongQiQu/AndroidMultiChannelBuildTool, http://www.cnblogs.com/ct2011/p/4152323.html,https://github.com/HongQiQu/AndroidMultiChannelBuildTool1、首先安装Python(安装和测试步骤自己补脑,原创 2016-03-25 17:13:32 · 1040 阅读 · 0 评论 -
bug集
(1)listview黑屏: <style name="AttentionListView" parent="@android:style/Widget.ListView"> <item name="android:listSelector">@drawable/lmall_transparent</item> ...原创 2015-07-13 18:17:09 · 795 阅读 · 0 评论 -
android之仿豆瓣写日志
先来看看某帮的效果图:所说的也是类似的效果图 图1是正常编辑文本以及插入图片时的状态图,图2是长按拖动图片位置的状态难点剖析控件拖动:主要用gitHub上的开源控件DragListView 控件地址 这里不再做讲解RecycleView中光标是如何定位在指定的控件如何解决部分机型识别不了键盘中的删除键、回车键如何将图片插入相应的位置如何实现并发上传图片逻辑讲解正常输入文本:当按下回车原创 2017-09-19 15:28:05 · 1468 阅读 · 2 评论 -
android虚拟机原理---运行流程概述
前言Android中,系统通过init进程创建出来的zygote进程,为每个应用创建一个进程和复制一个虚拟机实例,而每个应用都运行在一个DVM或AVM实例中;而且每个进程或线程都对应linux中的一个进程或线程一JVM、DalvikVM、ArtVM区别Jvm(java虚拟机):标准的虚拟机,java文件编译生成标准的多个java字节码(.class)文件,并打包成ja文件,原创 2018-01-29 11:49:28 · 12405 阅读 · 0 评论 -
android之一篇史上最适合最全面的JNI入门教程
前言: 一定要下载demo,动手动脑,结合本篇博客来跑demo,否则看了也还是不会;写代码还是要勤动手才能掌握,否则里边的坑也只是想当然demo一.基础知识 JNI:是java和c/c++交互的桥梁;有必要去弄明白整个开发流程;jni的效率比java要快,所以一些好性能的都会通过走底层来调用java 用途:用的比较多的是视频、美颜、相机、地图等涉及底层以原创 2018-02-05 22:02:55 · 4292 阅读 · 0 评论 -
AOP之注解处理器APT在Android中的FinderView实际详解 (一)
一 前言 android中现今流行的各大框架,比如ButterFly、eventBus、OrmLite、Retrofit等都使用注解,注解是什 么呢?注解就是元数据,可以理解为属性、方法、类等的一个说明,具体详解可百度,也可移步我的另一篇注解原理详解。一下就以ButterFly为例,解读徒手打造一个FinderView的框架。 获取注解的元数据的方式有以下两种: ...原创 2018-05-19 17:45:48 · 616 阅读 · 0 评论 -
AOP之AspectJ在android中的解读(二)
一 前言 在没有接触AOP切面编程时,总觉得它是一门特神奇的,特遥不可及的技术,直到公司做无埋,用hook所有监听器的直男方式,遇到无底洞的大坑之后,才痛定思痛执着了解AOP切面编程。 对于AOP切面编程的意义,最主要是找到切入点,接下来了解AspectJ框架的一些基本核心概念。 既然是一个框架,那么就要遵循它的规则二 核心概念 <1> Join Point ...原创 2018-05-22 20:30:17 · 1418 阅读 · 0 评论 -
AOP之Javassist应用于自动实现EventBus解读(三)
解读demo:https://github.com/north2016/T-MVP一.前言javassist是一个操作class文件即class字节码的动态类库;在打包过程中,用来检查、”动态”修改以及创建 Java类。其功能与jdk自带的反射功能类似,但比反射功能更强大。为了方便看,我将javassist的demo剥离出来二.原理gradle从1.5开始,gradle插件包含了一个叫Transf...原创 2018-05-31 19:58:30 · 718 阅读 · 0 评论 -
android之优雅书写多类型Adapter
android之优雅书写多类型Adapter原创 2017-01-21 15:54:38 · 1472 阅读 · 0 评论 -
android之超级简单的下拉回弹--仿QQ个人主页
先看效果: 效果不错吧!进入主题之前,先了解ImageView的scaleType的center_crop,网络上说的已经很清楚了 : 以下抄自网络:android:scaleType=”centerCrop” 以填满整个ImageView为目的,将原图的中心对准ImageView的中心,等比例放大原图,直到填满ImageView为止(指的是ImageView的宽和高都要填满),原图超过I原创 2017-02-27 19:45:24 · 4116 阅读 · 0 评论 -
android viewpager+fragment 避免预加载,缓存
一、需求是这样的:滑动到哪一页就在家一页的数据,避免预加载二、由于使用setOffScreenLimit无效解决办法:注意:setUserVisibleHint,使用这个方法来完成切换到哪一页才加载哪一页/** * 育儿知识tab栏 * * @author Administrator * */public class GestateKnowledgeBa原创 2015-12-22 20:40:55 · 4584 阅读 · 0 评论 -
android之listview悬浮topBar
虽然listview是过去式,但由于项目中还是有用listview,百度一番都是scrollview中的悬浮bar,没有看到有listview的悬浮bar,所以自己写一个悬浮bar;参照夏大神的scrollview的悬浮demohttp://blog.csdn.net/xiaanming/article/details/17761431效果如下:自定义的Listview和s原创 2016-11-23 19:52:14 · 499 阅读 · 0 评论 -
android listview嵌套viewpager,viewpager嵌套gridview,解决内嵌无法显示以及事件冲突的问题
GridView:解决无法有高度的问题/** * 解决和ScrollView嵌套使用时,滚动发生冲突 */public class MyGridView extends GridView{ public MyGridView(Context context, AttributeSet attrs, int defStyle) { super(conte原创 2016-01-11 21:20:10 · 3356 阅读 · 0 评论 -
android之仿微博Textview的伸缩效果
package com.example.testdemo;import android.app.Activity;import android.os.Bundle;import android.text.TextUtils.TruncateAt;import android.util.Log;import android.view.View;import android.view.V原创 2015-11-18 01:07:44 · 1897 阅读 · 0 评论 -
android之animation-list+图片实现的粘稠的加载动画效果
Tween动画详解:http://blog.csdn.net/feng88724/article/details/6318430用animation-list+图片实现的粘稠的加载动画效果:一:progressbar的动画加载AnimationDrawable animation = new AnimationDrawable(); for (int原创 2016-02-02 17:57:31 · 2065 阅读 · 0 评论 -
android之滑动悬浮tab&无限循环的viewPager
效果图如下:虽然listview现在已经过时,而且这种效果也满地都是,但是因为自己项目的原因还是自己写一个,而且也想整合都涉及的优化知识点,所以还是值得写一写,当作练练手,也算是一种提升吧一:知识点 1、属性动画的实现view的移动,让其悬浮在顶部 2、HorizontalScrollview计算宽度实现选中tab居中 3、Fragmen原创 2017-01-10 15:12:03 · 4789 阅读 · 1 评论