自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Flutter text 用法笔记

Text( "星\n期\n三", strutStyle: StrutStyle(leading: 0.7),//设计行距 style: TextStyle( color: ColorUtil.color(color_4A4A4A), fontSize: ScreenUtil().setSp(26), ), ...

2020-04-02 18:07:52 49

转载 Android 动态权限 第三方库总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 http://blog.csdn.net/totond/article/details/73648103目录(?)[+]本文出处: 炎之铠csdn博客:http://blog.csdn.net/totond 炎之铠邮箱:yanzhikai_yjk@qq.com 本文demo地址:https://github.com/totond/Permiss...

2018-02-23 11:23:45 6052 1

原创 Android Studio无法连接夜神模拟器

解决方法:1)进入CMD,转到夜神安装目录2)执行命令:nox_adb.exe connect 127.0.0.1:62001,连接到服务器。例如:夜神安装目录是D:\Users\Administrator.USER-20161125KP\AppData\Roaming\Nox\bin,在命令行中输入cd\,回车,输入d:,回车,输入cd 夜神安

2017-11-27 16:36:12 504

转载 深入理解Android之Gradle

格式更加精美的PDF版请到:https://pan.baidu.com/s/1boG2cLD下载weibo分享失效,请各位到百度云盘下载Gradle是当前非常“劲爆”得构建工具。本篇文章就是专为讲解Gradle而来。介绍Gradle之前,先说点题外话。一、题外话说实话,我在大法工作的时候,就见过Gradle。但是当时我一直不知道这是什么东西。而且大法工具

2017-11-22 18:30:36 197

转载 GreenDao3.0入门

1. 什么是greenDao弄明白greenDao之前我们应该先了解什么是ORM(Object Relation Mapping 即 对象关系映射),说白了就是将面向对象编程语言里的对象与数据库关联起来的一种技术,而greenDao就是实现这种技术之一,所以说greenDao其实就是一种将java object 与SQLite Database关联起来的桥梁,它们之间的关系 如下图所示;

2017-11-20 11:38:42 358

原创 沉浸式

http://blog.csdn.net/chenliang1937/article/details/44892101http://blog.csdn.net/guolin_blog/article/details/51763825http://hukai.me/android-training-course-in-chinese/ui/system-ui/immersive.html

2017-06-16 15:22:36 225

转载 RxJava使用场景小结

from:http://blog.csdn.net/lzyzsd/article/details/50120801取数据先检查缓存的场景取数据,首先检查内存是否有缓存 然后检查文件缓存中是否有 最后才从网络中取 前面任何一个条件满足,就不会执行后面的final Observable memory = Observable.create(new Observable.

2017-04-21 14:33:27 229

转载 Android严苛模式StrictMode使用详解

from:http://blog.csdn.net/mynameishuangshuai/article/details/51742375StrictMode类是Android 2.3 (API 9)引入的一个工具类,可以用来帮助开发者发现代码中的一些不规范的问题,以达到提升应用响应能力的目的。举个例子来说,如果开发者在UI线程中进行了网络操作或者文件系统的操作,而这些缓慢的操作会严重影响

2017-04-09 14:38:10 401

转载 Rxjava-Android资料汇总

原文链接:http://blog.csdn.net/qq1026291832/article/details/51007490    从去年(2015)10月份左右接触到RxJava到今(2016.03)也有近半个年,从一开始的Rx风格的蒙圈代码到现在自己项目中必不可少的Lib,多多少少积累下来一些经验,再加上周边小伙伴不时的问这个依赖(RxJava)是什么?这代码什么意思?RxJava是什么

2017-03-22 20:32:56 481

原创 SPAN 的使用详解

package com.example.spantext;import android.app.Activity;import android.graphics.BlurMaskFilter;import android.graphics.BlurMaskFilter.Blur;import android.graphics.Color;import android.graphics.

2016-06-27 22:25:28 2780

转载 Android 6.0 运行时权限处理

运行时权限介绍Android 6.0在我们原有的AndroidManifest.xml声明权限的基础上,又新增了运行时权限动态检测,以下权限都需要在运行时判断:运行时权限处理Android6.0系统默认为targetSdkVersion小于23的应用默认授予了所申请的所有权限,所以如果你以前的APP设置的targetSdkVersion低于23,在运行时也不会崩溃,

2016-05-06 16:07:45 492

转载 Android应用在不同版本间兼容性处理

FROM:http://www.cnblogs.com/yaowen/p/5013366.html在Android系统中向下兼容性比较差,但是一个应用APP经过处理还是可以在各个版本间运行的。向下兼容性不好,不同版本的系统其API版本也不同,自然有些接口也不同,新的平台不能使用旧的API,旧的平台也使用不了新的API。        为了应用APP有更好的兼容性,咱们可以利用高版本

2016-04-27 14:47:06 9895

原创 实现水波效果

一·效果图:根据 y = A*sin(wx + b) + h;来画出我们的波纹基本思路:1.将view的一个宽度作为一个周期,或者一个周期的整数倍,这样便于计算和编程。2.用数组保存每一个x值对应的y值,这里的x其实就是横向的像素值,都为整数。3.然后通过这些数组画线,是纵向划线,然后就行4.让两条波的速度有一个差值,已形成层次感pa

2016-03-05 21:34:24 455

转载 Android 通过系统使用NotificationListenerService 监听各种Notification的使用方法

from:http://blog.csdn.net/zpf8861/article/details/38531669NotificationListenerService是通过系统调起的服务,当有应用发起通知的时候,系统会将通知的动作和信息回调给NotificationListenerService。在继承NotificationListenerService服务实现自

2016-03-01 18:24:20 3226

转载 Android中插件开发篇之----类加载器

前言关于插件,已经在各大平台上出现过很多,eclipse插件、chrome插件、3dmax插件,所有这些插件大概都为了在一个主程序中实现比较通用的功能,把业务相关或者让可以让用户自定义扩展的功能不附加在主程序中,主程序可在运行时安装和卸载。在android如何实现插件也已经被广泛传播,实现的原理都是实现一套插件接口,把插件实现编成apk或者dex,然后在运行时使用DexClassL

2016-02-23 22:46:33 801

原创 android中的类加载器,以及加载机制

package com.liaoli.android.classloader.test;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.v

2016-02-23 22:14:39 365

原创 动态换肤

使用到的技术:              1.DexClassLoader 将一个apk包加压到指定位置                    2.AssetManager的addAssetPath方法可以将apk或者zip包中的资源加载到Resource 但是由于                AssetManager的addAssetPath方法是hide的,所以得用反射的方式

2016-02-22 22:12:26 450

转载 Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)

本文内容:1、横向ListView的所有实现思路;2、其中一个最通用的思路HorizontalListView,并基于横向ListView开发一个简单的相册;3、实现的横向ListView在点击、浏览时item背景会变色,并解决了listview里setSelected造成item的选择状态混乱的问题。众所周知,ListView默认的方向是垂直的,但有些时候人们更喜

2016-02-18 11:28:20 511

转载 为Android HorizontalListView添加Scrollbar

最近由于项目需要,要实现一个横向滚动的列表,打算直接用HorizontalScrollView,但是因为没有视图复用,列表项多了之后会占用较多内存,排除;再想到用Gallery,但Gallery有一个自动定位到中央的动画效果,要去除这个效果的工作比较复杂。最后搜了一下找到了这个Android-HorizontalListView,实现了ListView的大部分功能,只是不支持Header、Foot

2016-02-18 10:31:41 321

转载 Android ViewPagerIndicator

Android Viewpager Indicator是Android开发中最常用的控件之一,几乎所有的新闻类APP中都有使用,下面介绍其基本使用方法。1. ViewPager Indicator的Library查看Viewpager Indicator的Library代码,可以看到此项目的设计思想:首先定义了一个PageIndicator接口,它里面定义了最重要和

2016-02-17 14:12:32 538

原创 ViewPager限定预加载的页面个数setOffscreenPageLimit(int limit)

ViewPager里面还定义了一个     private int mOffscreenPageLimit = DEFAULT_OFFSCREEN_PAGES;默认值 是1,这表示你的预告加载的页面数量是1,假设当前有四个Fragment的tab,显示一个,预先加载下一个.这样你在移动前就已经加载了下一个界面,移动时就可以看到已经加载的界面了. 从日志里面可以看到onActivityC

2016-02-16 16:47:05 29577 2

转载 Android中各种Span的用法

49.Android中各种Span的用法Android中各种Span的用法前言SpannableStringBuilderURLSpanUnderlineSpanTypefaceSpanTextAppearanceSpanTabStopSpanStandardSuperscriptSpanSubscriptSpanStrikethroughSpanScaleXSpanS

2016-02-02 14:34:42 7442

转载 Android ActionBar完全解析,使用官方推荐的最佳导航栏(下)

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/25466665本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文。http://developer.android.com/guide/topics/ui/actionbar.html限于篇幅的原因,在

2016-01-28 19:57:39 445

转载 Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/18234477本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文。http://developer.android.com/guide/topics/ui/actionbar.htmlAction Ba

2016-01-28 15:35:52 303

转载 [个人总结]APK瘦身实践

[个人总结]APK瘦身实践因为推广的需要,公司需要把APK的大小再“减小”一下,4M以内!当达到4M以内之后,公司建议说,能否再压压?2M如何?瘦身前因为平时就考虑到大小的限制,所以很多工作已经做过了,如下列举现在的状态:7.3M(Debug版本)和6.5M(Release版本)开启minifyEnabled开启shrinkResources已经去除不相

2016-01-26 12:24:14 479

转载 Android UI性能优化详解

Android UI性能优化详解11 Jan 2016设计师,开发人员,需求研究和测试都会影响到一个app最后的UI展示,所有人都很乐于去建议app应该怎么去展示UI。UI也是app和用户打交道的部分,直接对用户形成品牌意识,需要仔细的设计。无论你的app UI是简单还是复杂,重要的是性能一定要好。UI性能测试性能优化都需要有一个目标,UI的性能优化也是一样。你可能会觉

2016-01-23 12:30:12 1145

转载 聊一聊Android 6.0的运行时权限

JAN 17TH, 2016Android 6.0,代号棉花糖,自发布伊始,其主要的特征运行时权限就很受关注。因为这一特征不仅改善了用户对于应用的使用体验,还使得应用开发者在实践开发中需要做出改变。没有深入了解运行时权限的开发者通常会有很多疑问,比如什么是运行时权限,哪些是运行时的权限,我的应用是不是会在6.0系统上各种崩溃呢,如何才能支持运行时权限机制呢。本文讲尝试回答这一些

2016-01-23 11:20:19 378

原创 View更新绘制过程

view动画框架是建立在view的基础上的,在view类中有一个startAnimation方法来使动画开始,startAnimation会将一个Animation对象传递给view对象,这个Animation中指定了动画的种类,系统为我们实现了四中动画透明度、平移、旋转、缩放。并且这些动画可以随意组合起来,形成复杂动画,当然我也可以通过继承Animation来实现我们自己想要的动画效果。

2015-12-29 19:47:01 390

原创 android 自定义动画(一)

其实动画的的本质,就是通过不断改变matrix的值,然后View根据matrix,不断的重绘制,从而形成连续变化的效果。所以我们要自定义我们的动画,其实就是如何设置这个matrix的值的问题。view的显示都是通过这个matrix的值来确定,包括坐标,大小等当我们给View注册一个Animation对象的时候,就可以获得这个View的 transformation matrix

2015-12-29 02:03:16 575

原创 layout animation

LayoutAnimationControllerA layout animation controller is used to animated a layout's, or a view group's, children. Each child uses the same animation but for every one of them, the animation star

2015-12-27 23:55:15 333

翻译 Tasks and Back Stack(任务和返回栈)

本文内容保存 Activity 状态管理任务定义启动模式处理关联清理返回栈启动任务文章Android 多任务运行机制另请参阅Android 设计:导航 清单文件元素概览屏幕应用通常包含多个Activity。每个 Activity 均应围绕用户可以执行的特定操作设计,并且能够启动其他 Activity。 例如,电子邮件应用可能有一个 Act

2015-12-25 14:14:39 371

原创 Activity Task

task是什么?task只是对activity来说的,其本质就是一组相互关联的Activity的集合,是framework层的一个概念,是用来控制activity的跳转的。task 是可以跨应用和进程的: 比如我们一个应用的activity可以开启另一个应用的activity,根据Activity 的启动模式的不同,当activity被开启时,会放存在不同的task 中

2015-12-25 14:01:56 373

转载 Android最佳性能实践(二)——分析内存的使用情况

声明:本文出自郭霖的博客,转载必须注明出处。转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/42238633由于Android是为移动设备开发的操作系统,我们在开发应用程序的时候应当始终把内存问题充分考虑在内。虽然Android系统拥有垃圾自动回收机制,但这并不意味着我们就可以完全忽略何时去分配或释放内存。即使我们全

2015-12-22 00:41:15 381

转载 LeakCanary 中文使用说明

原文链接:http://www.liaohuqiu.net/cn/posts/leak-canary-read-me/LeakCanary 中文使用说明LeakCanaryAndroid 和 Java 内存泄露检测。“A small leak will sink a great ship.” - Benjamin Franklin千里之堤, 毁于蚁穴。

2015-12-21 23:30:07 1295

转载 LeakCanary: 让内存泄露无所遁形

LeakCanary: 让内存泄露无所遁形分享到:新浪微博微信09 May 2015本文为LeakCanary: Detect all memory leaks!的翻译。原文在: https://corner.squareup.com/2015/05/leak-canary.htmljava.lang.OutOfMemoryError

2015-12-21 22:52:29 393

翻译 绑定服务

绑定服务本文内容基础知识创建绑定服务扩展 Binder 类使用 Messenger绑定到服务管理绑定服务的生命周期关键类ServiceServiceConnectionIBinder示例RemoteServiceLocalService另请参阅服务绑定服务是客户端-服务器接口中的服务器。绑定服务

2015-12-15 14:30:08 279

原创 Dialog 手动设置style

protected Dialog getDialog(View view, float alaph, Context context) { /** * Builder的第二个参数是系统的style 或者 自定义的style,可以用来显示自己想要的风格,同时还可以避免黑框问题 */ AlertDialog.Builder builder = new Alert

2015-12-10 19:06:56 1649

原创 Android Loader

Introduced in Android 3.0, loaders make it easy to asynchronously load data in an activity or fragment. Loaders have these characteristics:1、They are available to every Activity and Fragment.  //支

2015-12-09 00:35:42 655

转载 UML类图介绍及画法

FROM:http://uule.iteye.com/blog/2078935 箭头:指向父类或接口。指向依赖物。指向子元素。   继承、实现是三角型箭头,其他都为箭头组合、聚合都有一个菱形端,且都为实线,其他都无菱形端继承是实线,实现是虚线关联是实线依赖是虚线        

2015-12-08 12:32:37 337

转载 android 文件权限

1、正常权限:就是那个什么 -rwxrwxrwx 的东东,共十位。第一位:-表示文件,d表示文件夹,l表示连接。二三四:所有者的权限。五六七:所在群组的权限。至今我也没搞清楚群组是个什么东东。八九十:其他用户权限。r表示写权限,w表示读权限,x表示可执行权限,-表示没权限。用数字表示法,r=4,w=2,x=1,-=0。777=rwxr

2015-12-07 11:34:03 790

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