- 博客(9)
- 收藏
- 关注
原创 为什么View.post中能获取到View宽高
众所周知,Activity中onCreate、onResume中无法直接获取到View的宽高,原因是在这些生命周期中,View还没有经过measure流程,为什么通过View.post方法能在回调中获取到View的宽高呢?接下来我们就扒一扒View.post的源码,看看为什么在View.post中能正常打印View的宽高。一、 Runnable去哪了?先跟踪View.post方法,看看这个post出去的Runnable去哪了。 // View.post public boolean p
2020-05-30 18:58:03
710
原创 AsyncTask的使用&源码详解
AsyncTask详解一、AsyncTask使用方法1.自定义AsyncTask继承AsyncTask,重写回调方法写一个可以计算斐波纳契数列和的异步任务,耗时久一点public class FibonacciTask extends AsyncTask<Integer, Integer, Integer> { private static final String TAG = "FibonacciTask"; @Override protected
2020-05-20 23:30:42
649
原创 aapt 命令提示No resource found that matches the given name
今天研究aapt打包资源,在aapt源码里加了些log,但aapt一直打包失败,错误的打包命令:aapt p -f -S ./res -M ./AndroidManifest.xml -I /home/lishicheng/source/project/out/target/product/project/system/framework/framework-res.apk -F ./...
2020-01-16 18:55:12
845
原创 Fragment数据传递及回退栈
上一篇文章分析了使用replace 和 使用hide/show 两种方式实现Fragment的切换,及对应的生命周期,这一篇文章在介绍Fragment回退栈之前先介绍一下FragmentManager和FragmentTransaction。一、动态创建Fragment与FragmentManager上一章最后,我们已经实现了一个通过FragmentManager、FragmentTran...
2018-05-17 17:39:57
815
原创 Fragment的生命周期与切换
准备重新入手安卓了,依然选择从fragment开始。冲鸭~!Fragment有如下两个选择android.support.v4.app.Fragmentandroid.app.Fragment;support.v4.app下的片段具有更好的兼容性,可以兼容到1.6版本,而app下的Fragment只支持3.0以上的版本,如果minsdk设置在3.0以上,当然用哪个都可以,如果需要兼...
2018-05-16 22:23:10
549
原创 Android进阶之路(三) -- JNI交互
今天继续学习C与Java通过JNIEnv交互。昨天学习了C与Java交互方法,但感觉太轻松了,就像调用findViewById一样简单,可能是我遗漏了什么东西,于是就想在今天继续研究这一块儿的内容,顺便做一下总结。C调用Java的方法和访问Java中的变量都是通过JNIEnv进行的,它提供了一堆方法用来定位、调用方法和定位、读取变量:定位方法,如下:GetFieldID(jclass clazz,...
2018-05-15 20:17:38
486
原创 Android进阶之路(二) -- NDK初探
继续学习NDK开发,今天来实现一个简单的计算器功能,NativeUtil类中有一个静态的native方法,它接收三个参数,分别是两个操作数和一个操作符,并且返回C的计算结果。NativeUtil类定义如下public class NativeUtil { static { System.loadLibrary("native-lib"); } public...
2018-05-14 19:59:53
954
原创 Android进阶之路(一) -- AS 3.0NDK环境搭建及hello world
通过一段找实习的经历,以及快应用、小程序、web app等移动开发模式的冲击,深深为安卓原生开发的未来感到担忧,希望接入人工智能API和物联网井喷能给安卓开发带来新的生机吧。当然,作为小白我是不用担心这么多的,做自己喜欢的事就好了,于是抛开杂念,继续学习安卓。NDK开发环境的搭建相信很多人都在用Android Studio开发安卓了,当然,我也是用AS开发的,所以就用AS开始NDK开发环境的搭建。...
2018-05-13 13:14:03
2172
原创 解决ScrollView长截图的几个小问题
先说一下ScrollView截图的截图方式:1、获取Child的高度2、根据高度宽度创建对应的Bitmap3、ScrollView.draw(Canvas)绘制,得到所需长截图其中可能出现的问题是,长截图的长宽都是对的,但所得截图只有屏幕显示的那一部分。这个时候就要注意Padding、Padding、Padding了。把ScrollView child中的padding都去掉,就能得到完整截图了。...
2018-02-25 20:00:47
1792
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人