![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
嘻哈小兵
我是一个性格开朗,喜欢学习新知识的90后程序猿...
展开
-
android 模块通信和Scheme的配套使用
今天聊聊android的跨模块通信 对之前写的跨模块通信做简化https://blog.csdn.net/lixiaoshuai_91/article/details/86526848在之前的博客里面我聊到了模块间通信的一种机制,利用interface事件回调进行模块间通信由于其实现起来代码量比较多,今天在这里做一个简化首先我们讲述下需要的准备工作,1.需要跳转的Activity注册Scheme协议<activity android:name="com.ansier.mo.原创 2020-07-25 18:02:26 · 398 阅读 · 0 评论 -
android三级列表拖动
最近项目需求要求对一个三层级的树状列表做拖动,经过一周时间的开发终于是搞出来了。做出来的效果一、首先讲一下树状列表是如何实现的1.整个树状列表使用的是RecyclerView2.层级间的UI是用Item中左侧一个透明的View宽度大小来实现层级效果3.和后端要求,让其返回我们协商一致的数据结构二、拖动的实现用的是ItemTouchHelper.Callback1.定义一个接口,里面有四个需要实现的方法1.1 拖动开始,获取初始拖动的position onItemStar...原创 2020-11-18 16:28:59 · 396 阅读 · 1 评论 -
解决ButterKnife和androidX的冲突
最近在帮助朋友新建一个新项目,在引入ButterKnife 8.8.1 的时候总是报错和androidX有冲突,查了很多资料后都是一些适配androidX,但是还是没有解决问题。看了ButterKnife在Github上给出的代码后问题就解决了,这里还是想吐槽下自己,ButterKnife现在已经到10.2.1了我们还在使用8.8.1????♀️ 还是要及时更新项目中引用库的版本呀ButterKnife Github地址https://github.com/JakeWharton/butterkn原创 2020-07-16 11:23:31 · 1846 阅读 · 0 评论 -
android Matisse图片选择器的引入
hi,由于最近琐事太多,很久没有更新博客了,今天抽空给大家分享一个图片下载器Matisse,出自知乎,绝对的精品;之前也使用过三方的图片选择器,但是Matisse的图片界面效果简直是美翻天,并且Matisse中引入了Glide和Picasso,这两个库可以自行选择;原创 2017-11-07 11:57:24 · 1610 阅读 · 0 评论 -
去掉button自带阴影
昨天帮同事修改bug,UI提议一个很奇特的bug,说确认按钮有阴影,本来我们是设置了背景的,并且背景用的是shapeshape中加了边框线,可现实在手机上button底部会有两条边框线,ui就说我们加了阴影。。。后来找了下万能的CSDN,就在Button的Layout文件里加了style="?android:attr/borderlessButtonStyle"问题就搞定了,这里做下笔记,希望也...原创 2018-04-24 18:33:10 · 3420 阅读 · 0 评论 -
RecyclerView实现单选的三种方式
今天给大家分享下RecyclerView实现单选的三种方式,这三种方式都需要一个标识位,mPosition单选的话建议大家不要使用checkBox(android不同版本checkBox显示的不一样哦),使用一个ImageView代替是最理想的在Adapter里面首先初始化我们的标识位 int mPosition=-1;第一种方式就是刷新列表,使用notifyDataSetChanged();下面...原创 2018-04-27 11:14:26 · 7656 阅读 · 14 评论 -
腾讯IM中表情和文本不对齐的问题
今天给大家分析下,腾讯IM提供的Demo中表情和文本信息不管是在TextView还是EditText中不能对齐的问题首先可以肯定腾讯IM中使用的是把assets下的一个文件夹中的图片循环遍历成一个BitMap;然后转换成一个ImageSpan,最后放到SpannableStringBuilder里面;其实对齐方式的主要关键点在转换ImageSpan的步骤里;如果从写ImageeSpan...原创 2018-10-07 16:29:29 · 661 阅读 · 0 评论 -
android studio 利用productFlavors 生成三种不同网络环境的Apk
为了方便开发,都会有不同的网络环境android 开发中我们在项目上线前都需要结果大量的测试,为了方便不同环境的测试,我们需要打不同网络环境的apk今天给大家分享下一个项目打三种apk,这三种apk可以在手机上并行安装,不会出现覆盖主要利用build.gradle 的productFlavors下面直接上代码 这些代码都是在build.gradle文件里android目录下的...原创 2018-10-09 15:16:53 · 1848 阅读 · 0 评论 -
Android 组件化开发 各个Mode之间和App的通信
App开发组件化开发,各个Mode间的通信可能第一次接触的人不太了解;其实有很多种方式的,比较流行的是阿里路由,如果在已有的项目上实现组件化,用阿里路由可能有些麻烦,尤其是App层依赖的资源比较多,暂时那些依赖的资源还没有挪出来,那Mode调用App层的资源就很难受了。其实Mode层调用App层的资源或者A-Mode调用B-Mode我们用接口回调的方式也可以实现的,原因是App层都会依赖各Mo...原创 2019-01-17 16:58:30 · 1913 阅读 · 0 评论 -
Android跳转到应用详情-权限管理
今天整理代码,将权限的一下操作整理了一下。App如果没有申请到某些权限,指引用户跳转到应用详情页,让用户手动打开权限Intent localIntent = new Intent();localIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);localIntent.setAction("android.settings.APPLICATI...原创 2019-07-24 14:12:11 · 1426 阅读 · 0 评论 -
最新ViewPagerIndicator的使用
ViewPagerIndicator的最新实现方法,超级简单,看了绝对对你有帮助。原创 2017-01-06 09:54:20 · 5569 阅读 · 0 评论 -
android Https请求的使用
android https的使用,无需设置,直接请求,简单粗暴。原创 2016-12-22 11:29:39 · 609 阅读 · 0 评论 -
android6.0获取手机IMEI被拒,乐视手机闪退
关于android6.0之后获取Imei闪退问题原创 2016-11-23 19:49:47 · 3113 阅读 · 0 评论 -
ListView分页加载
在很多App应用里面我们可以看到好多ListView都用到了下拉上拉刷新功能,可能大家都会想到第三方框架PullToRefresh,今天我就在这里给大家说说刷新的原理,使用原生态的ListView实现刷新功能为了我们更好的使用,这里可以自定义一个ListView(MyListView),实现他的监听方法 代码如下:public class MyListView extends ListView原创 2016-08-11 21:37:45 · 400 阅读 · 0 评论 -
ProgressBar 自定义颜色、在代码中设置颜色
ProgressBar 我们一般都是自定义的背景颜色,和进度条颜色,但是在代码中我们想要更换背景颜色和进度颜色就没有那么简单了,下面我就分别介绍下,自定义颜色(这个正常的android程序员都会)和在代码中更换背景颜色和进度颜色1.自定义背景颜色和进度条颜色在drawable里面新建一个xml文件选择layer-listhttp://schemas.android.com/ap原创 2016-09-15 17:10:00 · 8862 阅读 · 0 评论 -
Double float 保留小数点后几位最好用的两个方法 ,四舍五入,国际标准
今天在这里整理了,Double 和float 保留几位小数的最好用的两个方法(四舍五入,国际标准)直接上代码吧1.double dou = 231.12678 ;String str = String.format(" %.2f ",dou); //这里2的取值为0~n 代表要保留的小数位数,0表示不保留2.double dou = 231.12678 ;BigDe原创 2016-09-16 15:04:15 · 12808 阅读 · 0 评论 -
在WebView和Activity中关闭到指定的页面
关闭Activity到指定的Activity页面原创 2016-10-11 14:56:41 · 2893 阅读 · 0 评论 -
android设置系统文字大小后App的文字会变化
对于程序员来说,我们很少会去设置手机的字体大小,因此也不会出现设置字体后App界面变化。但是近期由于我们开发的项目中嵌套的H5页面太多,很多手机适配都没有问题,唯独有一款红米Note2在加载H5页面后变的面目全非,后来又采购了一台红米note2适配是没有问题的。经过排查原因是,最初的红米note2字体设置为大号字体。因此导致了原来的字体(sp)都会放大1.2倍,使界面不是预期的了。经过一番原创 2016-09-28 09:44:56 · 1640 阅读 · 0 评论 -
获取App的权限列表,及判断添加的权限有没有生效
判断所添加的权限有没有生效原创 2016-10-26 16:37:15 · 4216 阅读 · 0 评论 -
双击退出App 重写onBackPressed()
这是双击退出App的原理及代码实现原创 2016-10-19 15:31:50 · 1308 阅读 · 0 评论 -
热修复,Tinker的接入
热修复是以后App必不可少的一个功能,不仅能及时修复一些Bug,还能够更灵活的实现版本迭代原创 2016-12-06 10:48:30 · 544 阅读 · 0 评论 -
Fragment在ViewPager中布局文件丢失
现在主流的界面都是一个Activity中镶嵌三到四个Fragment,然后在这些Fragment中再镶嵌ViewPager,为了代码条理清晰,我们在ViewPager中存放的是Fragment而不是View。正常情况我们在ViewPager中嵌套View是没有问题的,但是再次嵌套Fragment就会出现布局文件丢失,只在第一次创建的时候可以看到,等切换了页面就变成空的了。这是因为我们拿到的Fr原创 2016-08-19 17:41:07 · 603 阅读 · 2 评论