- 博客(9)
- 收藏
- 关注
原创 NDK-异常处理与动态注册
如果native方法不需要JNIEnv、jclass/jobject,那么也可以直接不写。如下所示// 也OK 如果你用不到 JNIEnv jobject ,可以不用写 void dynamicMethod01() {LOGD("我是动态注册的函数 dynamicMethod01...");// 也OK const char * text = env -> GetStringUTFChars(valueStr , nullptr);...
2022-08-28 21:43:53
421
原创 JNI必备小技巧
生成头文件命令行参数假设存在native方法的类路径为:path1需要指定完整类路径的绝对路径。对于上面的例子path1为C:\NDKFirst\app\src\main\javapath2为含有的native方法的完整类路径(不包含后面的.java),对于上面的例子,就是如下形式:所以最后的命令如下最后生成的.h文件在C:\NDKFirst\app\src\main\java下,里面就有我们需要的JNI函数,copy一下就行了当然,如果我们在下直接执行javah命令,那么就可以省下path1参数了
2022-08-15 09:12:46
165
原创 ConstraintSet API详解
ConstraintSet对象中保存了ConstraintLayout里面所有控件的约束条件,通过constraintSet.applyTo()方法将修改以后的ConstraintSet应用到ConstraintLayout,可以实现批量更改约束条件,并通过。ConstraintSet允许我们动态的修改ConstraintLayout中某些控件的约束,并在约束改变的时候,为我们添加上动画效果。基于center()的再次封装,让一个控件横向、垂直居中与某个控件,效果等同于添加了两个约束。...
2022-08-10 10:03:09
1154
原创 git submodule详解
有种情况我们经常会遇到某个工作中的项目需要包含并使用另一个项目。也许是第三方库,或者你独立开发的,用于多个父项目的库。现在问题来了你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个。在中也介绍过两个方法,现在顺便介绍另一种更加优雅的方法—子模块。...
2022-07-22 10:20:31
9149
原创 Activity布局显示原理
当我们在Activity中使用setContentView的时候,其实非常简单的交给了Window去处理,在Android中,Window的子类只有一个PhoneWindowPhoneWindow#setContentView我们的xml文件在变成可见的控件之前,系统会先初始化一个DecorView作为整个Activity的根布局DecorView的初始化当new出我们的DecorView以后,则是填充系统布局了,这一步在generateLayout中完成PhoneWindow#generate
2022-06-16 14:53:52
428
原创 OverScroller基础使用
最近偶然间看到一篇博客Android Scroller 滑动机制介绍了Android中ScrollView的滚动本质,并从源码级别进行了介绍,只能说大佬牛逼了,然后写一个demo来加强记忆咯1、Scroll的方向傻傻乎乎分不清楚如图所示,如果需要向右边滚动,参数得为负数2、系统给了很多值基础值,需要好好使用3、OverScroller的使用OverScroller与Scroller大部分api都一模一样,唯一多的就是可以越界滚动一部分长度,这个可以用来做回弹效果4、简单化的拖动,不如试用下ViewDra
2022-06-13 21:17:04
655
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人