由于项目需求需要,要使用底部弹出菜单的效果,正好看到了谷歌推出了Android Support Library 23.2 ,在更新的功能中就有BottomSheet这个控件,来实现底部弹出菜单的效果。而以前也有人写过这种效果。
BottomSheet(https://github.com/soarcn/BottomSheet )
现在官方推出来了,当然是使用原生的好,然而使用过程中还是不如人意啊,用摩托罗拉,魅族手机做测试的时候控件有时弹不出来,弄的也挺麻烦的,原来原生也有坑的。
毕竟,改变需要时间
BottomSheet(https://github.com/soarcn/BottomSheet )
现在官方推出来了,当然是使用原生的好,然而使用过程中还是不如人意啊,用摩托罗拉,魅族手机做测试的时候控件有时弹不出来,弄的也挺麻烦的,原来原生也有坑的。
最近在打包混淆时,遇到一个问题,混淆编译都不出错,运行出错,一般遇到这种问题,肯定是在运行的地方有代码被混淆了,经过错误排查,发现是程序中用到第三方的jar包的方法出现问题了,原来android studio混淆打包时把第三方的jar包给混淆了。
于是想这个问题很简单,保持jar包不混淆就好,于是直接在app目录下的proguard-rules.pro(或者proguard-rules.txt)混淆规则文件直接-libraryjars libs/xx.jar避免混淆。但是却引出了另一个错误:
Error:Execution failed for task ‘:app:proguardRelease’.
java.io.IOException: The same input jar [E:\myproject\app\libs\XX.jar] is specified twice.
也就是说混淆规则文件中,我们指定了2次
解决方法:
打开app目录下的libs文件夹,将各第三方jar下的包名在proguard-rules.pro 文件中过滤。
code:
-keep class audio.cutter.lib.{*;}
-keep class universal.initlibs.{*;}
上面的代码以-keep class audio.cutter.lib.*{;} 为例,意思是不混淆com.baidu包下的各个类及类里面的所以域和方法。把上面的包名换成自己想要忽略的jar下面暴露的包名即可。
解决办法很简单,在Button的属性里加上android:textAllCaps=”false”就行了
在开发了几个项目之后我决定写篇文章分享一下一路走来的经验教训。
首先需要明确一个观点:Rx并不是一种新的语言,而是一种普通的Java模式,类似于观察者模式(Observer Pattern),可以将它看作一个普通的Java类库,因此你可以立即使用RxJava。而RxAndroid是RxJava的一个针对Android平台的扩展,主要用于 Android 开发。
新建了自己的博客,主要记录自己的一些工作和学习的总结。