技术点
文章平均质量分 74
林星一冬
携手同行,共同进步。
展开
-
Activity访问Fragment中的方法
结合viewpager获取Fragment在Activity中获取到对应fragment后,通过fragment.getView.findViewById() 可以获取到fragment里的控件对象,但仅仅这样处理,结果往往是fragment.getVIew这一步会有空指针报错的问题。原因:因为getView方法要使得不为null,则必须是在fragment生命周期的onCreatedView...原创 2018-09-28 16:47:11 · 3814 阅读 · 0 评论 -
android 监听软键盘在页面的展开和隐藏
获取软键盘状态思路:获取当前页面根布局及其高度 RootH; 获取状态栏高度 StatusH和导航栏高度 NavigationH; 获取当前根视图在屏幕上显示的高度RectH; 高度差值比较,(根布局高度 - 根视图显示高度)与(状态栏高度 + 导航栏高度)的大小对比; 大于:展开软键盘 小于:隐藏软键盘相关代码块:viewTree的监听// viewTree的监听pr...原创 2018-09-28 19:48:35 · 513 阅读 · 0 评论 -
WebView实时切换多语言环境
前提WebView加载的Url链接本身附有自适应多语言的功能,可根据手机系统的语言环境自适应。问题来了,也许有人会问:既然Url能够自适应语言环境,还需做什么处理?实则不然,有遇到过或做过这方面的都知道所在的WebView并不会自动切换过来,除非是将应用杀死后再进入到该页面,才会更新语言环境。处理思路:监听系统语言更改 杀死进程或者销毁资源情况分析:目前知道两种方法可以做到。第...原创 2018-12-04 15:26:40 · 1534 阅读 · 0 评论 -
如何正确的编译Protocol Buffer文件
PB的定义:ProtocolBuffer是用于结构化数据串行化的灵活、高效、自动的方法,有如XML,不过它更小、更快、也更简单。你可以定义自己的数据结构,然后使用代码生成器生成的代码来读写这个数据结构。你甚至可以在无需重新部署程序的情况下更新数据结构。PB文件格式:编译PB文件:1、需要相关的jar包和工具(文末有相关工具的下载地址)2、在protoc.exe的所在文件...原创 2018-12-06 20:15:32 · 1309 阅读 · 0 评论 -
RecyclerView的局部刷新(notifyItemChanged(int position,Object payload))
局部刷新的方便之处RecyclerView的刷新可以分为列表重新加载刷新、item刷新、item中局部刷新。对于前两种的刷新,都会是的列表刷新的时候闪烁一下,而后者则看不出列表有任何闪烁,并且,局部刷新能在一定程度上减少不必要的UI绘制渲染。RecyclerView 数据刷新的几种方式,RecyclerView 真正的布局刷新的正确方式notifyDataSetChanged() 刷新...原创 2019-03-20 17:20:40 · 6265 阅读 · 0 评论 -
简单处理点击EditText外部区域关闭软键盘
简单了解事件的触发机制在Android中,View的结构是树状的,所以,当触发触摸事件的时候,其事件传递也是从上之下一层层的传递。下面我们结合例子来一点点进行分析。首先,我们需要了解事件处理中的几个方法:1、在ViewGroup中,事件分为dispatchTouchEvent(事件的分发),onInterceptTouchEvent(事件的拦截),onTouchEvent(事件的处理)...原创 2019-03-21 17:41:57 · 878 阅读 · 0 评论 -
TabLayout的tab滑块适配
前言 TabLayout继承自HorizontalScrollView,用作页面切换指示器,因使用简便功能强大而广泛使用在App中。TabLayout通常都和ViewPager结合使用,而且一般情况下本身自带的属性也能满足大部分产品需求,效果如下:TabLayout可以在相关属性上设置tab选中的指示器和背景图,但在效果上并不是特别完美。在不松开手指情况下,fragmen...原创 2019-03-25 20:17:49 · 1066 阅读 · 0 评论