android
hacjy
Android&Flutter Engineer
展开
-
奇葩布局:RecyclerView+Webview的布局,如何使之连贯滑动
场景:列表+webview的布局 会出现滑动分割,各自滑动自己的,没法连贯性滑动。有没有一个支持整体滑动的库呢?产品需要实现的场景:列表可见时,整体可滑动 列表不可见,滑动到webview,webview自己滑动 webview要支持下拉,把列表下拉显示 第三方库:ConsecutiveScrollerConsecutiveScrollerLayout是Android下支持多个滑动布局(RecyclerView、WebView、ScrollView等)和普通控件(TextView.原创 2020-12-31 10:22:05 · 1155 阅读 · 0 评论 -
jackson对于默认值不进行序列化
场景 json串中的属性值有些是默认的,那么就不必要传递给服务端了,减少对象序列化为json的时间。json与对象的转换自然要借助于json工具了,也是我们今天的猪脚:jackson。gradle配置 dependencies { compile ‘com.fasterxml.jackson.core:jackson-databind:2.3.1’ ...原创 2018-04-10 20:27:58 · 3417 阅读 · 0 评论 -
thrift入门-Android
1、什么是thrift?thirft是Facebook公布的一款开源跨语言的RPC框架。 thrift通过一个中间语言IDL(接口定义语言)来定义RPC的数据类型和接口,这些内容写在以.thrift结尾的文件中,然后通过特殊的编译器来生成不同语言的代码,以满足不同需要的开发者,比如可以生成java代码,生成c++代码,生成的代码中不但包含目标语言的接口定义,方法,数据类型,还包含有RPC协议...原创 2018-03-29 16:34:33 · 1321 阅读 · 1 评论 -
Recyclerview列表item设置成等宽高的正方形
第一种方法是动态设置宽高:(亲测有效) //设置item的高度跟随宽度走 ViewGroup.LayoutParams parm = holder.layoutContent.getLayoutParams(); parm.height = gridLayoutManager.getWidth()/ gridLayoutManager.getSp...原创 2018-05-21 17:17:58 · 4878 阅读 · 3 评论 -
Android7.0设置状态栏颜色,显示灰色的解决办法
使用正常方法设置toolbar颜色,状态栏会有灰色蒙版层(在华为mate8测试机有)。所以改用以下方法解决。if (android.os.Build.VERSION.SDK_INT >= 21) { //解决Android5.0以上,状态栏设置颜色后变灰的问题 Window window = ((IndexFragmentActivity) iIndexFragmentAct...原创 2018-05-21 17:22:48 · 4873 阅读 · 3 评论 -
Recyclerview 特别好用的局部刷新item方法
一般列表刷新,会使用notifyDataChanged,会使列表整个刷新,虽然达到了效果,但是不美观。所以,如果可以做到只刷新需要刷新的item就好了。这里就有个特好用的方法,分享给大家。 /** * 更新某一个item数据 * @param nearbyNewAnchorInfo */ public void updateNearbyAndNewAnch...原创 2018-05-21 17:30:29 · 10376 阅读 · 1 评论 -
RecyclerView:动态设置item的占比,多列还是1行
在Adapter中重写该方法:onAttachedToRecyclerView /** * 网格布局,动态设置item的占比 * 如果是2列,返回2,就是item占据1行。 * @param recyclerView */ @Override public void onAttachedToRecyclerView(final Rec...原创 2018-05-21 17:36:41 · 7035 阅读 · 0 评论 -
LinkHashMap避免乱序:过滤数据,map存储顺序混乱的问题
使用map存储数据的时候,不能保证顺序的有序性,所以使用LinkHashMap避免乱序的问题 //key为ID,value为PrizeModelLinkedHashMap<Long,PrizeModel> map = new LinkedHashMap<>();...原创 2018-05-21 17:38:21 · 3162 阅读 · 0 评论 -
启动app白屏的解决办法,亲测有效
在欢迎页的主题中设置window背景图,可以解决启动显示白屏的问题<item name="android:windowBackground">@drawable/bg_start</item>原创 2018-07-10 17:46:55 · 10779 阅读 · 0 评论 -
Glide加载hppts图片失败的解决办法,亲测有效
Glide加载https图片报错:javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.解决办法:在Application的onCreate中调用方法handleSSLHandshake()...原创 2018-07-14 17:14:16 · 6393 阅读 · 5 评论 -
gradle加入jackson,编译时报错:com.android.builder.packaging.DuplicateFileException: Duplicate files
今天在Android Studio项目中加入了jackson的开发包,编译运行时候,引发了如下的错误: Error:Execution failed for task ‘:app:transformResourcesWithMergeJavaResForDebug’. com.android.build.api.transform.TransformException: com.an...原创 2018-04-10 19:19:58 · 1584 阅读 · 0 评论 -
有效解决Android SDK Manager无法更新下载的方法
参考自:https://www.cnblogs.com/hackpig/p/8502851.html实际上,就是修改hosts文件,将地址指向可以ping通的ip,通过ping.chinaz.com网站查找可用的ip地址以下提供一组可用的IP(如不可用,请自行查找替换哦~) 203.208.50.70 dl.google.com 203.208.39.99 dl-ssl.go...原创 2018-04-09 20:08:30 · 5430 阅读 · 0 评论 -
Android-DataBinding入门系列(一)基本介绍
Google在15年的发布大会上提出了DataBinding数据绑定框架,解决了Android编程的一大痛点。官方原生支持MVVM模型让我们可以在不改变既有的框架上使用上新的特性。它可以使我们的代码更加简洁,不必在页面中写太多的findViewById,省时省力。今天我们也体验了一把,记录下遇到的问题和简单的入门介绍下。1、Android Studio需要更新到 1.3 版本,而且需要开启DataB原创 2017-12-06 09:12:05 · 366 阅读 · 0 评论 -
面试随记
1、抽象类与接口的区别 抽象类:是子类的通用特性的抽象。它可以有具体的实现方法,子类使用extends关键字继承于它,实现抽象类中抽象方法的实现,可以有自己的构造器,但是不能够实例化。抽象方法的修饰符可以是public,protected和default。 接口:是抽象方法的集合。它的方法都是抽象的,没有实现,实现接口用implements关键字,不能有构造器。接口方法的修饰符是public。...原创 2018-01-10 16:58:01 · 1123 阅读 · 0 评论 -
进阶的基础,跟着大神的步伐
扔物线:【高级Android工程师进阶手册】 http://hencoder.com/qing的世界:【RxJava解析,视频开发进阶(概念)】 https://www.jianshu.com/u/a32db45d4859鸿洋【源码解析】 http://blog.csdn.net/lmj623565791郭霖【设计模式】 http://blog.csdn.net/guolin_...原创 2018-03-15 10:36:17 · 452 阅读 · 0 评论 -
Android 7.0以上版本,如何实现应用内语言切换
7.0系统之前,系统语言的设置是一种; 7.0以后,系统语言的设置是一组; 所以,导致以前的设置语言的方法过时了,到了8.0就不能再起作用了。原来的设置语言代码: 现在的需要区分版本设置: public class MyContextWrapper extends android.content.ContextWrapper {public MyContextWrappe...转载 2018-03-15 10:50:22 · 1706 阅读 · 1 评论 -
Android 透明状态栏实践
采用的方法,只支持4.4以上版本,并且需要用到Toolbar,采用AS自带模拟器进行测试。主要内容有以下几点:如何在4.4及5.0系统上实现透明状态栏使用DrawerLayout和NavigationView情况下的透明状态栏如何在全屏DialogFragment上实现透明状态栏启动页状态栏的处理转载自:https://www.jianshu.com/p/56c2f525544e...转载 2018-03-15 11:40:39 · 273 阅读 · 0 评论 -
Android8.0适配之一应用图标适配
1、适配条件target在26以下,不用做适配。 如果设置target=26及以上,在8.0不做适配,就会显示成一个圆圈包围着logo,不好看。2、Android 8.0应用图标适配原理:应用图标分为2层:前景层(logo层)和背景层(只能定义颜色和纹理,不能定义形状) 最后8.0系统会给它加上一层mask层(目前所知的是圆圈mask)3、怎么适配Android...原创 2018-03-13 09:23:03 · 1778 阅读 · 0 评论 -
Jenkins+Gradle+Git+Pyger+二维码搭建Android自动打包平台
1、下载jenkins war包从Jenkins官方网站下载最新的war包,然后在war的目录下打开cmd,执行命令:java -jar jenkins.war。 看到以下信息,就表示jenkins安装成功了。2、启动jenkins第一次启动Jenkins时,出于安全考虑,Jenkins会自动生成一个随机的口令。注意控制台输出的口令,复制下来,然后在浏览器输入:http://lo...原创 2018-03-13 09:31:17 · 954 阅读 · 0 评论 -
NDK开发流程介绍
NDK开发流程 (一)Java调用C方法1、安装ndk 在Android Studio的project structure目录,有个Android NDK location设置。未下载ndk的可以点击下方的download下载。 2、配置path路径 在环境变量path中配置ndk的路径。 3、项目中关联ndk 在项目的local.properties中添加ndk路径: n...原创 2018-03-14 16:56:19 · 379 阅读 · 0 评论 -
[转]优秀Android博客大全,整理了国内外大神博客/Github地址,是学习Android进阶的首选
[转]国内外优秀Android博客大全,覆盖了国内外大神博客地址,Github地址,是学习Android进阶的首选国内: 昵称 Github 博客 介绍 邓凡平 http://blog.csdn.net/innost 阿拉神农 魏祝林 http://blog.csdn.net/android_tutor Trinea https://github.com/trinea转载 2017-11-22 17:25:34 · 610 阅读 · 0 评论