自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android换肤原理

提到换肤,我的第一反应就是if+else去弄(俗称静态换肤),这样带来的结果就是代码臃肿,扩展性非常差,所以pass掉。那么动态换肤就不会存在这个问题,弄懂原理,加上AOP的思想去干,就类似于插件化了。 那么它的原理是怎样的呢?下面让我们来看: 都知道Acitivity的setContentView是用来设置布局的,而我们的换肤功能就是要动态改变控件的属性值,所以从setContentView的源码走起。 setContentView -> getDelegate().setContentVi.

2021-10-23 00:35:56 317

原创 初试JNI的使用

JNI:Java Native Interface ,编译型语言。作用:Application层通过jni层来访问底层系统。说白了,JNI就是一座沟通的桥梁,这也就保证了Java语言在各种不同系统中能够访问本地方法。 在windows平台下编译的文件: .dll:动态链接库,作为共享函数库的可执行文件 .obj:目标文件,相当于源代码对应的二进制文件,未经过重定义(类似java中的class文件,属于中间型文件) .lib:静态链接库,可理解为多个obj的集合 在linux平台下编译的文件: .

2020-06-04 13:46:33 206

原创 分包引发的迷之错误!

由于公司的项目需要集成第三方即使通讯,在集成的时候方法超过了65535,因此进行分包处理。在gradle的defaultconfig中加上 multiDexEnabled true,可是在运行的时候就会出现NoClassDefFound的错误,找了半天都是一头雾水,后面在网上查了一下看到别人的帖子,才知道还要进行其他的设置。 总的步骤: 1.在gradle的defaultconfig中加上 m

2017-12-14 10:40:20 293

原创 android 编写发表帖子的页面

由于公司项目的原因,这两天在写一个发表帖子的页面,逻辑涉及到草稿的保存,图文混排,因为花了两天的时间来弄这个,所以就此记录一下。 页面的布局,只需要一个EditText。 图文混排的方法:使用span的方式来显示,这个网上有很多教程,就不多说了,总结一下就是先获取图片的uri,然后转化为bitmap,为了避免oom,建议大家使用第三方工具,本人采用的是imageloader,转成bitmap就

2017-11-13 23:28:51 3911

原创 android listview的坑

刚刚进入公司参加工作,遇到关于listview的坑,记录一下,也希望能帮助到遇到同样困难的朋友 1.点击listview子项没有任何反应 我在fragment里面放置一个listview,listview子布局里面有一个checkbox控件,然后设置监听事件setOnItemClickListener,结果发现没有任何反应,在网上搜索之后才知道如果listview子布局里面有类似che

2016-11-14 22:21:19 374

空空如也

空空如也

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

TA关注的人

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