3 iblade

尚未进行身份认证

明年的某个时候,你会想着要是今天就行动了该多好!

等级
TA的排名 5k+

红米手机H5布局压扁

移动端rem布局样式错乱问题这段时间在开发app内的h5页面,发现一个奇怪的问题,测试机中有红米手机 ,oppo手机,在app打开h5之后,整个页面被压扁变形了,一开始以为是手机分辨率的问题,但是在同样的手机的其它app内和浏览器内打开页面,都是完全正常显示。后来查了一下,发现原来是手机字体大小设置的问题,当把字体调大一号时,在app内就正常显示了。现在很多安卓手机的系统都是可以自己去设置系统...

2019-11-20 19:48:25

Android消息通知声音和振动

/***播放通知声音*/publicstaticvoidplayRingTone(){Uriuri=RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);Ringtonert=RingtoneManager.getRington...

2019-10-22 16:03:46

Json手动解析小案例

本文Json解析荔枝新闻 json格式为:{ "status":"ok", "paramz":{ "feeds":[ { "id":299080, "oid":288342, "category":"article",

2016-01-09 20:25:25

Android组件间通信机制

组件间通信机制:1.本地广播:本地广播特点:(观察者模式的运用)比全局广播更快,出自于Android.support,(底层实现是handler);仅限APP内传播,安全性,保密性,效率远高于全局广播;不支持静态注册;缺陷:无法干涉传输途中的任何步骤。也存在比本地广播更加高效的通信方式:事件总线。2.EventBus:替代Intent,Handler,Broadcast,在F...

2019-09-02 20:12:45

Android组件化基础

组件化:组件(功能导向):单一的功能 组件,如视频组件,支付组件,路由组件模块(业务导向):独立的业务模块,如首页模块,直播模块,IM模块。粒度上,模块大于组件,二者思想一致:代码复用,业务解耦。组件化优势:1.避免重复造轮子,提高复用性,节约成本,提升开发效率。2.项目间共用组件,可以确保整体技术的统一性。3.为插件化共用一套底层模型做准备。模块化优势:1.业务解耦,移植...

2019-09-02 15:11:23

PopupWindow显示位置错乱,真正的终极方案。

华为手机上PopupWindow弹出位置 直接置顶了,小米手机按照代码的意志显示在titleBar之下。效果类似这样:谷歌一把 ,各种吐槽该问题。大神们的主流解决方案,主要分两种,①重写showAsDropDown(),以24为界限,区别对待;②调用show的时候,SDK>24的时用showAtLocation()替代showAsDropDown();我先把大婶们的各类终极版的...

2019-08-26 12:15:58

TextView部分文字加粗

开发中经常遇到TextView中部分文字加粗或者颜色不同的场景一般使用SpannableString就能解决。例如: private void testText1(String posName) { String text = "* 为你发布的 " + posName + " 添加一句宣传语吧!"; SpannableString span = new S...

2019-08-23 17:10:46

Android 长按3Dtouch快捷方式

android 7.0新特性,类似iPhone的3Dtouch,长按app桌面图标会弹出快捷方式,效果如下:[外链图片转存失败(img-VebB3ppw-1563540930965)(C:\Users\lagou\AppData\Roaming\Typora\typora-user-images\1563519777526.png)]引入快捷方式:Shortcuts两种方式:静态xml和动态...

2019-07-19 20:58:31

RecycleView的remove动画闪屏

场景:收藏列表(RecyclerView),点击Item上的取消收藏按钮可删除该Item,带移除动画,当Item从满屏删除到不满屏的临界时刻,移除动画消失,会闪屏。分析:①取消收藏会调用notifyItemRemoved(position);②满屏到不满屏临界时刻,会重新发起该页请求,请求结束使用了notifyDataSetChanged()怀疑是 notifyItemRemoved尚未完...

2019-07-19 18:10:40

Android使用Parcelable注意事项

想要在两个activity之间使用Intent传递对象,此时被传递对象就必须序列化,在android中序列化一个对象有两种方式,一种是实现Serializable接口,这个非常简单,只需要声明一下就OK了,无痕介入。此外android中还有一种特有的序列化方法,那就是实现Parcelable接口,使用这种方式来序列化的效率要高于实现Serializable接口。不过Serializable接口实在...

2019-06-06 12:29:47

Glide加载Gif圆角图多次后出现黑边

使用Glide加载Gif图且要求圆角图时,加载多次发现圆角背后多了黑色方角,说具体点就是首次加载会有圆角,第二次加载就会圆角+方角黑边。就像这样:到这里,问题也描述的差不多了,有遇到同样问题&心急的朋友可能反手就是一拖鞋先给解决方案:加上.diskCacheStrategy(DiskCacheStrategy.SOURCE)即可。下面是顺便记录下圆角实现过程和遇到的疑惑点:Gl...

2019-05-27 11:08:08

RecyclerView选中Item滚动到屏幕中间 / 指定位置

产品需求,点击标签变成选中态,且被选中标签自动滑到屏幕中间,如图所示:1.如何实现自动滑动到屏幕中间?2.如何避免闪动?3.滑动速度如何控制?一,自动滑动到屏幕中间:RecyclerView中最容易想到的方法是smoothScrollToPosition(intposition),可是position该是多少呢?显然这个方法行不通。设置滑动还要从LinearLayoutManag...

2019-05-22 18:02:54

Android验证码输入框支持粘贴

验证码输入框,满足剪切板内容自动填充,看效果原本做法是6个EditText,后来发现,这样写最大问题是,无法满足粘贴功能,验证码短信一般都带“复制”,如果牺牲掉了验证码粘贴功能确实有点操蛋。先聊聊思路:1.首先想到写一个EditText,然后setBackground()为6个框,字间距刚好让每个数字处于框中间;然而字间距的方法没找到合适的,此路不通。2.我打开滴滴,美团,结果大厂...

2019-04-04 20:25:11

ListView滑动到指定位置smoothScrollToPositionFromTop

开发需求:listView平滑滑动到指定位置,然后弹出一个展开框;1.为了“平滑滑动”,于是我把写好的setSelection(position)改成smoothScrollToPosition(intposition),可是死活找不到smoothScrollToPosition(intposition)动画end监听,没有这个监听的话无法获知何时弹出展开框。2.如果要知道smooth的...

2019-02-14 12:14:43

ListView禁止上下滑动,不影响点击

有个需求,ListView列表支持筛选。点击筛选Tabs时候,在Tabs下方弹出FilterCard,遮盖在ListView列表上层,此时不能滑动Tabs,否则界面好尴尬,只有FilterCard消失时候,列表才回复滑动。已知Tabs是listView的一个HeaderView。要求Tabs支持点击切换,但是不能上下滑动,此刻要做的就是监听FilterCard的可见性,VISIBLE时候禁止上下滑...

2019-02-14 11:39:52

关于Java自动装箱拆箱的面试题

问:请写出运行结果? Long l1 = 128L; Long l2 = 128L; System.out.println(l1 == l2); //1 System.out.println(l1 == 128L); //2 Long l3 = 127L; ...

2019-01-27 18:11:45

找出单身狗:有2n+1个数,其中有n个数出现过两次,找出其中只出现一次的数

/** * 任何数异或0值不变,任何数与自己异或值为0。 * 因此一个数两次异或同一个数,值不变。 */ public void findSingle() { int[] arr = {1, 2, 3, 4, 5, 4, 3, 2, 1}; int t = arr[0]; for (int i = 1;...

2019-01-27 16:14:48

List截取

/** * 截取list,保留前l位 * Examples: * list = [0, 1, 2, 3, 4, 5] * subList(list, 3); * list = [0, 1, 2] * * @param list 待截取list * @param newLength 保留前length...

2019-01-25 20:09:27

String字符串去重,保证顺序

/***字符串去重**@paramstr待去重字符串*@return去重后字符串*/publicStringremoveDuplicate(Stringstr){if(str==null)returnstr;intlen=s...

2019-01-25 17:50:56

List去重的N种方式

/***LinkedHashSet有个特性:不能添加重复数据并能保证添加顺序**@paramlist*/publicstaticvoidremoveListDuplicate1(List<String>list){LinkedHashSet<String>set=newL...

2019-01-25 17:35:40

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。