
Android
文章平均质量分 64
Icarus426
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android TextView ClickSpan与onClick事件冲突问题
0 本章内容TextView自定义Span实现 多Span融合 点击事件冲突处理方法1 TextView自定义Span实现1.1 产品需求产品要求实现一个类似于下图的功能其中红框部分需要实现点击,且左右有Padding。并且整体的文本需要有点击事件 和 长按事件,蓝字处要实现另一个点击事件1.2 Android中的Span这个不再赘述了,Android内本身支...原创 2018-11-07 11:52:16 · 2759 阅读 · 1 评论 -
Android软键盘(七)键盘显示的状态下,onKeyDown方法无法监听到back事件
事情越来越有意思了,随着深入的了解,以及在实际开发中的需求,难免会发现这样的问题。当键盘在显示的时候,在OnKeyDown方法里面竟然无法监听到back按钮事件。这对要在按back键之后做一些业务逻辑的童鞋真是心中一万头草泥马的飘过~~~~~~今天来总结一下如何解决这个问题。看效果图:我们说了,在键盘显示的时候,在onKeyDown方法根本监听不到任何事件回转载 2018-01-02 20:08:27 · 1043 阅读 · 1 评论 -
android 控件布局(顶部、底部......) 留着自己用
android 控件布局(顶部、底部......) 留着自己用android:layout_above 将该控件的底部至于给定ID的控件之上android:layout_below 将该控件的顶部至于给定ID的控件之下android:layout_toLeftOf 将该控件的右边缘和给定ID的控件的左边缘对齐android:layout_toRightOf 将该控件转载 2017-11-27 23:42:02 · 1212 阅读 · 0 评论 -
Android设置透明、半透明等效果
设置透明效果 大概有三种1、用android系统的透明效果Java代码 android:background="@android:color/transparent" 例如 设置按钮Java代码 android:text="@+id/Button01" android:id="@+id/Button01" and转载 2017-11-27 23:00:04 · 447 阅读 · 0 评论 -
Android 手机跳转到权限管理界面汇总
概述最近项目中遇到这样个需求场景:当我们的用户使用App时不小心拒绝了某项必要权限,而导致无法正常使用。这时候希望重新去打开该权限,那么问题来了,Android厂家定制的room五花八门,很多时候却发现找不到权限管理的入口。为了解决这一问题,如果我们应用中直接提供权限管理入口给用户,是不是会很方便的解决用户这一困扰呢?经过一番研究,整理出了大部分国产手机直接打开权限管理界面的方法:原创 2017-11-27 22:56:48 · 10308 阅读 · 2 评论 -
Android:ApplicationContext 与 非Context 在区别图
这是因为standard模式的Activity默认会进入启动它的Activity所属的任务栈中,但是由于非Activity类型的Context,如ApplicationContext并没有所谓的任务栈,所以这就会出现问题,解决问题的方法使给intent设置上一个标记位原创 2017-12-06 14:25:13 · 287 阅读 · 0 评论 -
webView 与 Android交互详解
一: webView相关知识:1 WebView是一个基于webkit引擎、展现web页面的控件。2 常用类及方法: WebSettings类,对WebView进行配置和管理webView.onResume() ;webView.onPause();Webview.goBack()Webview.goForward()We转载 2017-07-31 22:05:58 · 657 阅读 · 0 评论 -
Android ClassLoader与JAVA ClassLoader详解及对比
一、什么是ClassLoader? 大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所以经常要从这个class文件中要调用另外一个class文件中的方法,如果另外一个文件不存在的,则会...原创 2017-11-16 15:02:28 · 812 阅读 · 0 评论 -
Android 7.1 以上机型Charles抓包解决办法
Android7.0 和 Charles 的抓包关于android手机在mac版charles上抓不到包这个问题困扰了很久,查阅了很多资料,发现是android7.0系统安全策略问题。官方传送门:https://developer.android.google.cn/training/articles/security-config.html#manifestCharles转载 2017-11-06 16:05:11 · 20911 阅读 · 2 评论 -
Android Lottie 使用以及源码解析
Airbnb在GitHub上面开源了一个项目lottie-android,最近火的不要不要的,牢牢占据Trending排行榜(日、周、月)首位,下面我们就见识一下这个项目。 首先放上Lottie在GitHub上面的项目地址:Android,iOS, 和React Native。Lottie简介Lottie是一个为Android和IOS设备提供的一个开源框架,它能够解析通过A转载 2017-11-13 22:15:04 · 925 阅读 · 0 评论 -
内存检测工具LeakCanary原理解析
一.配置在build.gradle中可以进行配置://leakcanary debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.1' patchCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1' releaseCom原创 2017-10-17 14:45:39 · 529 阅读 · 0 评论 -
android 7.1.1下android.permission.SYSTEM_ALERT_WINDOW改动及BUG
参考文章:1、http://chen-wei.me/2016/11/10/android-permission-best-practice/2、http://blog.youkuaiyun.com/lmj623565791/article/details/507096633、http://www.jianshu.com/p/bd8a114b4c39前提介绍:悬浮窗权限Tips:使用原创 2017-10-16 20:12:31 · 3222 阅读 · 0 评论 -
Android上透明状态栏,全屏显示以及沉浸模式
在Android上为了实现全屏显示,透明状态栏,沉浸模式等效果,往往需要我们掌握和系统UI显示隐藏相关的各种Flag。Android上API版本混乱,各种Flag林立。今天我们就来聊聊这些Flags。在Android Kitkat中引入Immersive Mode相关转载 2018-01-02 20:16:30 · 485 阅读 · 0 评论 -
Android 知识图谱
转自:http://blog.youkuaiyun.com/xyz_lmn/article/details/41411355转载 2018-01-31 11:56:20 · 199 阅读 · 0 评论 -
Bitmap内存占用及华为机型长图加载问题
部分内容转载自:https://www.jianshu.com/p/0fbcadfd4213?winzoom=1https://zhuanlan.zhihu.com/p/20732309?refer=bennyhuo0 本章内容一个Bitmap对象占多大内存空间 解决大图加载OOM的几种方式 华为mate10等机型长图加载失败问题1 一个Bitmap对象占多大内存空间1....原创 2018-09-22 18:03:45 · 927 阅读 · 0 评论 -
Android Palette吸色原理及源码解析
一、Android Palette原理: 需求来自于设计想搞一个吸色的背景,就想到了Palette。 1、RGB和HSL 一般的3D编程只需要使用RGB颜色空间就好了,但其实美术人员更多的是使用HSV(HSL),因为可以方便的调整饱和度和亮度。HSL 和 HSV(也叫做 HSB)是对RGB 色彩空间中点的两种有关系的表示,它们尝试描述比 RGB 更准确的感知颜色联系,并仍保持在计...原创 2018-07-08 19:53:30 · 3249 阅读 · 0 评论 -
Instant Run 源码解析 二 (最新版)
一:前言:背景:Google对Instant Run一直有着持续的升级,部分前辈们介绍的东西发生了变化,故更新一下部分源码级别的分析。 参考:https://yq.aliyun.com/articles/202917 https://www.jianshu.com/p/5947855e3362 改动综述: 1、早期的InstantRun实现是修改本身App...原创 2018-03-19 23:45:20 · 858 阅读 · 0 评论 -
Android、H5 单独调起拍照与摄像
一: 公司代码需求,要求用户在H5内上传视频的时候必须是刚拍摄的。这就需要我们在调起相机的时候只调起拍摄,并且不能有BROWSER出现。 1、单独调起拍照: // 激活系统的照相机进行拍照 Intent intent = new Intent(); intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE); intent...原创 2018-03-19 23:19:07 · 2945 阅读 · 0 评论 -
Android InstantRun 工作原理(一)
一:Instant Run Instant Run,是android studio2.0新增的一个运行机制,在你编码开发、测试或debug的时候,它都能显著减少你对当前应用的构建和部署的时间。当我们第一次点击run、debug按钮的时候,它运行时间和我们往常一样。但是接下去的时间里,你每次修改代码后点击run、debug按钮,对应的改变将迅速的部署到你正在运行的程序上,传说速度快到你都来不及...转载 2018-03-12 23:12:39 · 920 阅读 · 0 评论 -
android path + fillType
Path作为Android中一种相对复杂的绘图方式,官方文档中的有些解释并不是很好理解,这里作一个相对全面一些的总结,供日后查看,也分享给大家,共同进步。1.基本绘图方法addArc(RectF oval, float startAngle, float sweepAngle)绘制弧线,配合Paint的Style可以实现不同的填充效果addCircle(float x, float y, floa...原创 2018-02-20 11:56:48 · 1232 阅读 · 0 评论 -
Android Matrix 超级详解
以下转自: http://www.gcssloop.com/customview/Matrix_Method http://www.gcssloop.com/customview/Matrix_Basic这应该是目前最详细的一篇讲解Matrix的中文文章了,在上一篇文章Matrix原理中,我们对Matrix做了一个简单的了解,偏向理论,在本文中则会详细的讲解Matrix的具体用法,以及...转载 2018-02-26 22:40:40 · 9650 阅读 · 2 评论 -
Android Canvas+Paint 画图
一、Path相关讲解主要讲下android里的Path(封装了贝塞尔曲线)& Canvas里的drawPath(path,paint);很多人听到贝塞尔曲线,就觉得似乎挺高端大气上档次,后面会和大家一起揭开它的面纱,一睹真容;Path(路径):我们先看看Path类里有哪些方法咱们从上往下看:构造函数有两个,分别是[html] view plain copy/** * Create an...原创 2018-02-26 22:38:20 · 1362 阅读 · 0 评论 -
Gradle failed: module: XXX already disposed
大多是因为AS或者是代码的原因,导致下载的jar包版本不同 或 缓存有冲突解决方法:1、./gradlew clean2、重启android Studio 3、File -> Invalidate Caches/Restart,重启后再clean Project(有时不用clean)就行了原创 2018-01-09 12:05:11 · 1332 阅读 · 0 评论 -
Android修改状态栏颜色详解
d参考文章:http://www.jianshu.com/p/932568ed31af默认情况下,状态栏的颜色是黑色的。同时状态栏颜色也可以半透明或是指定任意一种颜色。实现图分别如下黑色:自主设定颜色半透明一:如何为状态栏设置颜色?在实现上主要分两种,5.0以上机型、4.4-5.0版本机型。4.4-5.0还没有API可以直接修原创 2017-10-15 22:18:36 · 556 阅读 · 0 评论 -
android proguard.cfg 文件常用配置
#混淆时不产生形形色色的类名-dontusemixedcaseclassnames##不跳过(混淆) jars中的 非public classes-dontskipnonpubliclibraryclasses#打印日志-verbose#不预校验,默认情况下如果类文件的目标平台Java 6 或更高时会进行预校验。Android没必要开启,关闭可减少处理时间。-dontpreveri原创 2017-09-06 10:33:23 · 569 阅读 · 0 评论 -
Android resources.arsc文件与资源防护
http://blog.youkuaiyun.com/beyond702/article/details/51744082一、前言对于APK里面的Resources.arsc文件大家应该都知道是干什么的(不知道的请看我的另一篇文章Android应用程序资源文件的编译和打包原理),它实际上就是App的资源索引表。下面我会结合实例对它的格式做一下剖析,读完这篇文章应该能够知道Resources.a转载 2017-10-31 20:23:16 · 870 阅读 · 0 评论 -
Android截屏与WebView长图分享经验总结
最近在做新业务需求的同时,我们在 Android 上遇到了一些之前没有碰到过的问题,截屏分享、 WebView 生成长图以及长图在各个分享渠道分享时图片模糊甚至分享失败等问题,在这过程中踩了很多坑,到目前为止绝大部分的问题都还算是有了比较满意的解决方案。以下就从三个方面来总结一下过程中遇到的挑战和最后的解决方案。一、概述最近在做新业务需求的同时,我们在 Android 上遇转载 2017-07-24 22:29:29 · 604 阅读 · 0 评论 -
Android RecycleView 应用
RecycleView 的使用1:设置布局管理器mRecycle.setLayoutManager(layout)2:设置数据AdaptermRecycle.setAdapter();3:设置Item增加、移除动画mRecyclerView.setItemAnimator(new DefaultItemAnimator());4:添加分割线mRecyclerVie原创 2017-07-23 15:09:11 · 374 阅读 · 0 评论 -
如何提升Gradle的构建速度
原文链接:http://halohoop.comAS 中 gradle 构建一般可以分为三种:从0开始构建,Full Build;修改源代码后构建,之前构建过,Incremental build java change;修改资源文件后构建,之前构建过,Incremental build resource change。从这转载 2017-07-23 16:13:44 · 791 阅读 · 0 评论 -
Android知识点:监听链接、桌面快捷方式
1:监听链接此处的链接为浏览器跳转链接。点击链接时,系统会去查询当前安装APP中,谁可以响应相应跳转,并由用户选择启动的APP类似美团的分享,在分享到微信时,点击分享链接是可以调起美团客户端的,监听链接就可以实现此类功能。流程:1、首先在相应的MyActivity下添加拦截的 Intent,并在其category标签下添加对Browsable的支持 2、dat原创 2017-07-23 15:30:09 · 1456 阅读 · 0 评论 -
Android Interpolators详解
protected final Context mContext; private View mView; private View mPopupBgView; private BeanProfile mProfileBean; private ThemeSettingsHelper mThemeSettingHelper;public MainPersonC原创 2017-08-07 19:53:30 · 485 阅读 · 0 评论 -
Android中注解的详细介绍
0 在注解中主要的概念1 在获取注解时用到了反射2 注解的流程:定义注解,实现注解,使用注解。3 在获取注解数据时,类似于获取普通数据。1 什么是注解注解(Annotation)是JDK1.5引入的新特性,包含在Java.lang.annotation包中,它是附加在代码中的一些元信息,将一个类的外部信息与内部成员联系起来,在编 译、运行时进行解析和使用。Java内置了原创 2017-07-30 18:15:57 · 735 阅读 · 0 评论 -
每周知识总结(1)
1 popupWindow圆角设置: 2 Fragment之间的切换: fragmentTransaction.add(R.id.fragment_container, fragment).commit();这个在这个方法中,可以指定container的id,或者使用tag来标识需要进行替换的Fragment3 对原创 2017-07-30 17:29:31 · 227 阅读 · 0 评论 -
GoogleIO大会—Fragment Tricks
1 如果碰到Fragment做复杂的trans操作 可以调用fragmentManager.beginTrasaction.setRecordingAllowed(true)使系统帮助优化 2 Fragment的动画 .setTransition(三种标志位) fade open close 如果不满足 可以使用setCustomAnimation 使用动画 参数原创 2017-05-25 14:31:08 · 695 阅读 · 0 评论 -
Android面试题—校招—美团
美团和大众点评笔试题1 N个数选最大的M个,其复杂度为:nLogM 2 Activity A 启动了B。 (B的启动模式是SingleInstance.)实际上在源码中,正常的startActivity也会走到startAFR中,A以startActivityForResult()的形式启动B。那么A的onAtivityResult()方法什么时候被回调?原创 2017-05-25 14:09:52 · 943 阅读 · 1 评论 -
Android面试题—校招—京东
1 Fragment声明周期OnCreateView用于初始化非静态的View 在其中创建View并返回给调用者OnActivityCreate 当Fragment依存的Activity的 onCreate返回时调用。Fragment扩展说明: android.app.Fragment 主要用于定义Fragment android.app.FragmentManager 主要用于在Act原创 2017-05-25 13:41:20 · 864 阅读 · 0 评论 -
DisLruCache学习笔记
DiskLruCache学习笔记 简而言之就是在LruCache上进行了扩展 LruCache是自带的,DiskLruCache需要额外下载。 内存缓存是由LruCache的强引用 LinkedHashMap实现的。 这里需要额外的添加文件缓存,也就是有文件读取的操作。下载地址: android.googlesource.com/platform/libcore/+/jb-mr2-rele转载 2017-05-25 13:42:39 · 634 阅读 · 0 评论 -
Android 应用崩溃恢复原理+Recovery恢复框架
Android 应用崩溃恢复原理+Recovery恢复框架1、Android crash处理这里所说的crash是因为程序内部原因造成的崩溃,并不是系统内存不足等原因。通用的实现方案,是使用自定义的CrashHandler类,实现Thread.UncaughtExceptionHandler接口。覆盖系统原本的ExceptionHandler。public void原创 2017-08-18 13:49:42 · 1884 阅读 · 0 评论 -
RxJava 2.x 教程完整版
本文转载自 http://www.jianshu.com/u/f690947ed5a6为什么要学 RxJava?提升开发效率,降低维护成本一直是开发团队永恒不变的宗旨。近两年来国内的技术圈子中越来越多的开始提及 RxJava ,越来越多的应用和面试中都会有 RxJava ,而就目前的情况,Android 的网络库基本被 Retrofit + OkHttp 一转载 2017-07-30 16:55:58 · 2536 阅读 · 0 评论 -
java.util.concurrent.TimeoutException: android.view.ThreadedRenderer.finalize() timed out after 10 s
是因为5.0上webView启动硬件加速,可能导致的bug. stackOverFlow查询如下:32down votefavorite12I am getting this strange crash reports on Lollipop. My app is basically a browser so it m原创 2017-10-31 20:03:25 · 3495 阅读 · 2 评论