自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 安卓开发艺术探索笔记第一章

1 Activity的生命周期全面分析onPause必须先执行完,新Activity的onResume才会执行,所以onPause不能执行耗时操作。如果新Activity采用了透明主题,那么当前Activity不会回调onStop;onSaveInstanceState只会在Activity被异常终止的情况下才会调用,时间是在onStop之前,可能在onPause之前,也可能之后。

2017-08-26 15:22:51 248

原创 探究View.post获取View宽高问题

1 提出问题:执行View.post()的时候,此时View是开始被measure?还是在measure之前执行?如果在measure之前执行,而post又没有进行延时,那么这个runnable又是如何被放到测量之后进行的呢?首先跟踪post源码:分析:如果mAttachInfo不为Null的时候,会执行1;否则执行2;所以现在需要知道View中mAttachInf

2017-08-02 14:06:44 474

原创 从源码角度理解postInvalidate和Invalidate

1 postInvalidate()方法在非UI线程中调用,通知UI线程重绘。2 Invalidate()方法在UI线程中调用,重绘当前UI。首先打开源码:postInvalidate()方法源码解释如下:在下一个事件循环中通知重绘,在非UI线程中使用它去重绘。我们继续追踪下去,最后会进入ViewRootImpl的dispatchInvalidateDelayed()方

2017-07-28 09:34:18 323

原创 获取文字宽高

1 String text = "Android";Rect rect = new Rect();mPaint.getTextBounds(text, 0, text.length(), rect);int width = rect.width();//文本的宽度int height = rect.height();//文本的高度

2017-07-13 17:57:48 500

原创 2017-2-21

1 换肤功能compile project(':skin-support')compile project(':skin-support-design')点击按钮实现换肤findViewById(R.id.fab).setOnClickListener(new View.OnClickListener() { @Override public void o

2017-02-21 14:44:18 171

原创 2017-02-17

1 安卓取消默认动画Intent intent=new Intent(JpushNoticeActivity.this,JpushNoticeActivity.class);startActivity(intent);overridePendingTransition(0,0);//在这个参数中直接传0,代表没有动画。finish();

2017-02-17 09:08:51 144

原创 2017-02-17

1 安卓取消默认动画Intent intent=new Intent(JpushNoticeActivity.this,JpushNoticeActivity.class);startActivity(intent);overridePendingTransition(0,0); 在这个方法中直接传为空。finish();

2017-02-17 09:04:48 163

原创 2017-02-09

1 android stdio工程下的两个Moudle的libs下的同一个jar包只有一个出现三角下拉符号。2 记得application初始化一定要加上这句android:name=".MyApplication"。

2017-02-09 14:20:18 193

原创 子线程新建Handler为什么会报错?——浅谈Handler,Looper,Message之间的关系

引言:很多人都知道不能再在子线程new一个Handler,android会报错,至于为什么会报错,并没有作深入的研究,今天一起来研究一下,顺手学习下android异步消息处理机制的问题。在子线程中new 一个Handler为什么会出错?首先直接在子线程新建一个Handler?new Thread(new Runnable() { @Override pu

2017-01-20 10:25:58 508

原创 12-5

1  Android stdio导入项目一直卡在build gradle project info。AndroidStudio导入项目一直卡在Building gradle project info,实际上是因为你导入的这个项目使用的gradle与你已经拥有的gradle版本不一致,导致需要下载该项目需要的gradle版本,不知是被墙了还是什么原因,反正就是会一直卡住,直至下载完成(如

2016-12-05 15:40:49 223

原创 12-1

1 在导入项目到Android studio后,若编译出现“AAPT err(Facade for): libpng error: Not a PNG file”错误。     该错误表示项目中的drawable下的图片文件有非png图片,命名为了png造成的。解决方案:     方案一、在模块下的build.gradle中配置下面两个信息,再clear pro

2016-12-01 14:46:44 171

原创 11-8

1 刷新效果package com.example.myapplication;import android.content.Context;import android.graphics.drawable.AnimationDrawable;import android.os.Handler;import android.util.AttributeSet;impo

2016-11-08 18:13:50 178

原创 11-3

1  安卓Palette的使用                                                        参考 :http://www.ithao123.cn/content-10619199.html注:要使用Palette需要android-support-v7-palette.jar这个jar包,如果没有请更新SDK,更新后在…\sdk

2016-11-03 15:49:41 186

原创 10-28

第一步设置MainActivity的加载模式为singleTask android:launchMode="singleTask"第二步重写onNewIntent()方法    private static final String TAG_EXIT = "exit";    @Override    protected void onNewIntent(Intent

2016-10-28 17:24:17 180

原创 10-21

1 SwipeToLoadLayout 定制刷新效果repositories {        maven { url "https://jitpack.io" }    } compile 'com.github.Aspsine:SwipeToLoadLayout:1.0.3'然后就使用     xmlns:android="http://schema

2016-10-21 17:55:18 244

原创 10-8

1 制作圆形图片compile 'com.mostafagazar:customshapeimageview:1.0.4'com.meg7.widget.CustomShapeImageView android:layout_width="164dp" android:layout_height="164dp" android:src="@drawabl

2016-10-08 15:06:19 231

原创 9-29

1 静态变量传参在广播接收者里将private List> datalists数据传到activity中去,setDataList("tanlin",datalits);//采用gson可以传递任何对象,public void setDataList(String tag,List> datalist) { if (null == datalist|| datalis

2016-09-29 18:35:43 163

原创 2016-9-19

Manifest merger failed with multiple errors, see ?1  Error:Execution failed for task ':app:processDebugManifest'.> Manifest merger failed with multiple errors, see logs原因是导入的库在build.grad

2016-09-19 17:41:59 287

原创 注册登录验证码

1 判断是不是手机号public boolean isMobileNO(String mobiles) {Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0-9]))\\d{8}$");Matcher m = p.matcher(mobiles);return m.matches();}2 判断密码格式是否

2016-09-14 15:50:38 358

原创 MD风格

1  安卓沉浸式状态栏if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); getWindow().addFlags(WindowManager.LayoutPar

2016-09-07 10:50:07 1753

原创 2016-9-1

1 使用百度地图时 java.lang.UnsatisfiedLinkError: Couldn't load easemobservice from loader dalvik.system.PathClassLoad解决方案:     在libs下面创建一个armeabi-v7a文件夹     把armeabi *.so的文件复制一份     放在armea

2016-09-01 10:14:14 144

空空如也

空空如也

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

TA关注的人

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