- 博客(247)
- 资源 (9)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Android TabLayout indicator 指示器宽度修改 最新思路及实现 调用方便
这两天手头上的项目需要给Tablayout指示器设置一个固定的宽度,但谷歌并没有提供api,网上搜索的各种方式试了之后也没什么效果,而且调用比较麻烦,于是自己翻了源码,发现只要在tablayout中修改指示器左右的值就可以达到目的。源码如下: public void draw(Canvas canvas) { .... if (...
2019-10-14 19:33:01
1554
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 安卓目录控件
项目中需要实现一个目录组件,在网上找来找去没有合适的,干脆自己搞了一个:特点 Feature:可配置性高,条目样式可以通过multi type的方式拓展,分块间距可以通过decoration来设置,感谢 BRVAH~ 滚动时自动同步两列的位置; 反向滚动完全支持,此时前一列表会从最后一项开始显示; 泛型支持,设置时更易获取数据; 使用方便~GitHub地址:https:/...
2019-09-24 19:37:50
302
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Android全屏中adjustResize的失效的解决方案 AndroidBug5497Workaround
最近做项目中遇到Android全屏中adjustResize失效的问题,网上搜索了一堆后,基本上都是使用AndroidBug5497Workaround这个工具类,但是在实际使用中遇到软键盘不弹出时,整体高度不正确的问题。看了工具类的代码后,觉得计算全屏高度的方式有些绕了,既然Activity已经全屏,索性直接将屏幕高度作为软键盘不弹出的高度。代码如下:package com.k...
2019-07-04 16:07:36
2118
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Glide CircleImageView第一次加载不出来,动画失效的问题解决方案
网上有很多关于这个问题的讨论,也有些解决方法,但最后基本上都会弃用CircleImageView,这样一来一些通过CircleImageView很方便实现的功能就没法用了,比如设置border。第一次加载不显示的问题归根结底是因为CircleImageView不支持TransitionDrawable,网上找了一个类似的库,很不错,也支持TransitionDrawable,使用方式...
2019-06-10 13:49:42
849
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 TypeScript 中的Json自动解析并组装为类对象
在Java中,大家都已经很熟悉Gson这样的json自动解析工具了,而在TypeScript中,因为没有足够良好的泛型支持,目前还实现不了像Gson那样可以支持泛型的完善的解析方式。不过今天发现一款工具,可以将json转换到具体的指定类型。能省去不少手写的麻烦,只是目前还不支持对泛型进行解析。传送门:https://github.com/typestack/class-transforme...
2018-11-29 17:37:10
16925
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 BRVAH的Section中自定义间距,条目完美均分,支持Section顶部和底部间距
关于在RecyclerView中自定义GridLayoutManager的间距问题,可以参考我的另一篇博客:https://blog.csdn.net/candyguy242/article/details/82908324本文在此基础上,扩充了对BRVAH的Section中的布局间距支持,效果如下:核心思想就是在计算间距时,把每一个Section的Positon等信息抽象成...
2018-09-30 15:32:30
2976
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Android Recyclerview间距 均分 完美布局 支持任意列数和两端间距
最近项目中要在RecyclerView的Grid中均分间距,看了源码和一些文章,下面的这篇很有启发,在此引用一下,并且在他的基础上支持任意列数和两端间距。最后附上代码:原文链接:https://blog.csdn.net/lovext4098477/article/details/80419201简介: App中,用到最多的设计就是列表形式的布局,而RecyclerView的出现,也...
2018-09-30 13:22:40
23992
1
转载 优雅解决DialogFragment所有布局问题
事实上,解决方法有多种很正常,关键是正是由于网上说的解决方案太多了,不容易去记住,哪种处理是解决哪个问题的,比如,如果按照上述所说的解决思路,设置宽高无效和设置背景透明无效的处理方式是不一样的,那么下次遇到同样的问题时,可能你还得去重新查。而这里说有一种方式可以解决绝大多数的布局显示问题,就是在任何DialogFragment的生命周期方法被回调之前全部配置好想要的主题效果,就可以忽略由于回调的时机先后而产生的各种问题了,当然,这里就不过多去描述系统底层的回调时机和逻辑了,有兴趣的,可自行阅读源代码。
2024-08-13 15:13:53
22
原创 Jectpack Navigation组件设置统一跳转动画
Activity的跳转一般通过Theme设置即可,但是Framment的跳转除了NavigationUI类提供的方法会有动画以外,直接调用navigate方法是没有动画的。然后正常调用导航方法即可,在没有明确设置跳转动画时,会添加默认动画,也可以指定跳转动画。
2024-07-05 17:34:17
209
转载 通过 Desktop 学 Docker 也太简单了
通过命令行 docker run 来跑镜像, -v 是指定挂载的数据卷,后面的 :ro 代表 readonly,也就是容器内这个目录只读,:rw 表示容器内可以读写这个目录。它把系统的所有文件封装成一个镜像,镜像跑起来作为容器,它可以在一台机器上跑多个容器,每个容器都有独立的操作系统环境,比如文件系统、网络端口等,在容器内跑各种服务。所以我们都是把某个宿主机目录,挂载到容器内的某个保存数据的目录,这样数据是保存在宿主机的,下次再用镜像跑一个新容器,只要把这个目录挂载上去就行。
2024-05-21 17:19:31
59
原创 安卓-APP启动优化技术方案汇总
应用有三种启动状态:冷启动、温启动或热启动。每种状态都会影响应用向用户显示所需的时间。在冷启动中,应用从头开始启动。在另外两种状态中,系统需要将后台运行的应用带入前台。我们建议您始终在假定冷启动的基础上进行优化。这样做也可以提升温启动和热启动的性能。如需优化应用以实现快速启动,了解系统和应用层面的情况以及它们在各个状态中的互动方式很有帮助。确定应用启动时间的两个重要指标是和。TTID 是显示第一帧所用的时间,TTFD 则是应用达到可全面互动的状态所用的时间。
2023-10-11 18:08:47
517
原创 android 按home键或三方启动回到桌面,然后再次进入app,app重新打开问题
这种处理一般是有一个专门的启动Activity,然后再跳转到真正的主Activity,例如主Activity叫MainActivity,SplashActivity的launchMode设为standard,MainActivity设置为singleTask:可以在SplashActivity的onCreate中方法判断MainActivity是不是已经存在,如果已经存在,就直接finish掉SplashActivity即可。 @Override protected void onC
2021-04-13 18:50:59
1262
转载 Android App Widget创建步骤 带配置界面
本文来自http://blog.csdn.net/chenshaoyang0011转载请申明文章出处!Android通知系统是它的一大特色,而其中,AppWidget是其中一个亮点。在开发应用的中,很多时候可以为其添加一个AppWidget显示在桌面中,及时方便的与用户进行交互。这里就简单的熟悉一下开发一个AppWidget的流程吧。想要在应用中创建一个AppWidget,至少需要以下几样东西:1、需要创建一个AppWidgetProviderInfo,来描述AppWidget的元数据。2.
2021-04-07 18:14:24
891
原创 Android MVVM模式 轻松拥有带状态管理的ViewModel
开发中经常要表示一个数据当前状态,比如加载中、加载错误、空列表。这个时候如果我们每个地方自己去处理就很麻烦,如果我们使用的viewmodel自己就能表示这些状态岂不美哉?另外数据加载中还经常需要处理取消的逻辑,比如使用rxjava,自动管理disposable就更好了~说干就干~封装一个BaseViewModel~package cn.icetower.basebiz.vm;import androidx.annotation.CallSuper;import androidx.anno
2020-08-21 11:14:04
3241
原创 ssh config 文件不起作用的问题
If you use "Git for Windows">cd c:\Program Files\Git\etc\ssh\add to ssh_config following:AddKeysToAgent yesIdentityFile ~/.ssh/id_rsaIdentityFile ~/.ssh/id_rsa_testps. you need ssh version >= 7.2 (date of release 2016-02-28)https:/.
2020-05-23 14:32:33
3570
原创 解决win10分辨率过高导致某些软件显示小的办法
解决win10分辨率过高导致某些软件显示小的办法:右键->属性->兼容性->更改所有用户的设置->更改高DPI设置->高DPI缩放替代->勾选替代高DPI的缩放行为指定系统(在应用程序,系统,系统增强里选系统增强)...
2020-04-30 09:52:25
10327
1
原创 Uniapp兼容性问题记录
在非H5端不能使用ref的方式引用内置组件(比如view等);小程序中不支持vue图片懒加载框架,image中自带lazy-load属性封装与继承的思想,对需要处理不同处理的功能定义一个方法作为接口,然后编写不同的方法实现各平台的功能,然后在接口方法中使用条件编译来调用不同的具体实现;因为小程序对主包有2M的限制,在开发中要注意对图片等资源进行压缩,以及使用一些目录级的条件编译;关于分包...
2019-12-09 11:02:15
4713
原创 Java泛型的获取
讨论:https://ask.csdn.net/questions/921549Java泛型是一种语法糖,最终统一都是 Object 类型,而不是编码时指定的类型。结论是:编译器底层并不会存储泛型类型的,也不可能得到泛型的真实的 Class 类型。要获取自身的泛型定义,只能由子类获取。最后那种方式要写成子类方式,在构造方法后面加上花括号,比如:new A<...
2019-11-06 18:02:32
394
1
转载 ParameterizedType详解
ParameterizedType详解参数化类型public interface ParameterizedType extends Type { Type[] getActualTypeArguments(); Type getRawType(); Type getOwnerType();} 何为参数化类型列举一个实体类用代码来解释什么...
2019-11-06 17:54:40
14615
3
转载 java知识总结之Type
参考Java中的TypeType是Java 编程语言中所有类型的公共高级接口(官方解释),也就是Java中所有类型的“爹”,它并不是我们平常工作中经常使用的 int、String、List、Map等数据类型,而是从Java语言角度来说,对基本类型、引用类型向上的抽象;Type体系中类型的包括:原始类型(Type):不仅仅包含我们平常所指的类,还包括枚举、数组、注解等 参数化类型...
2019-11-06 09:57:31
741
1
转载 纠正:Android RecyclerView滚动到指定位置并置顶(滚动方法、移动置顶、定位滑动到指定位置item)
最近博主发现让RecyclerView滑动到某一位置并置顶的博客一大堆,抄的是完全一模一样。此外,虽然这些博客“解决”了这些问题,但这种解决方案过于浅显、粗暴,甚至都违背了开发思想。遂在此纠正这种错误。RecyclerView提供了几种移动的方法scrollToPositionscrollToscrollBysmoothScrollBysmoothScrollToPosit...
2019-07-23 09:43:55
6822
原创 VSCode中调试TypeScript (配置更新)
网上搜了一下用VSCode调试TypeScript的资料,尝试后发现之前的配置方式已经失效,就连ts-node官方说明里的也过时了,一番搜索和尝试后,发现VSCode只要配置一下就可以运行和调试单个ts文件,方式如下:1、在VSCode中,点击菜单 调试-增加配置,在项目根目录的.vscode文件夹下会生成一个launch.json文件,在launch.json中输入如下内容,name可以随意...
2018-12-02 01:31:45
9873
原创 TypeScript 做微信小程序 资料汇总
小程序官网:https://mp.weixin.qq.comhttps://developers.weixin.qq.com/miniprogram/introduction/index.htmlvscode开发微信小程序插件:minapp;vscode wxml;wxml;WeApp Snippets;wechat-snippet;Easy WXLESS;Less Intel...
2018-11-30 20:11:49
5073
原创 TypeScript 引入js库
TypeScript 引入js库如果要使用现有的js文件的话,需要对编译器增加–allowJS参数。可以修改tsconfig.json中的compilerOptions,将其中的"allowJs"设为true,如: “allowJs”: true,没有该字段的话增加该字段即可。另外在tsconfig中的"include"字段中将js文件的路径添加进去。建议增加一个专门的文件夹,用来存放所有...
2018-11-29 11:04:35
16794
1
转载 什么是vue.js?(概念很清楚)
Vue.js新手入门指南最近在逛各大网站,论坛,以及像SegmentFault等编程问答社区,发现Vue.js异常火爆,重复性的提问和内容也很多,楼主自己也趁着这个大前端的热潮,着手学习了一段时间的Vue.js,目前用它正在做自己的结业项目。在做的过程中也对Vue.js的官方文档以及其各种特性有了许多认识。作为一个之前以PHP+模版引擎为主的开发,从一个从未接触过除HTML+CSS+Jav...
2018-11-28 10:42:33
4702
3
转载 一张图搞清楚Hue、Tint、Shade、Tone的定义和关系
来源:https://www.douban.com/note/695528769/HUE - pure colour (colour wheel colours), no white, black or another colour mixed with it - or referring to the dominant pure colour in a colourIf a hu...
2018-11-26 20:06:06
8702
转载 小程序text组件内部上边距的问题
小程序text组件内部上边距的问题原文:https://www.cnblogs.com/xiaochongchong/p/9035374.htmlindex.wxml: 1 2 3 4 5 <view class="slogan"> <text> ...
2018-11-26 20:01:24
5686
原创 小程序相关资源汇总
小程序官网:https://mp.weixin.qq.com/https://developers.weixin.qq.com/miniprogram/introduction/index.htmlvscode开发微信小程序插件:minapp;vscode wxml;wxml;WeApp Snippets;wechat-snippet;Easy WXLESS;Less ...
2018-11-26 17:08:35
286
原创 VSCode中Typescript不能自动编译的问题
最近写小程序,用到typescript,按网上说的方式怎么也不能自动编译出js文件,后来在github的一个答复中得到灵感,可能是命令没有正确执行。思索之下自己修改了VS Code的默认终端,把powershell改成了cmder,果断还原默认配置,然后就可以了~整理如下:VSCode自动编译TypeScript步骤注意:一定不要修改VSCode的默认终端,以保证命令的自动执行!!先...
2018-11-26 16:08:50
8912
2
转载 让你明明白白的使用RecyclerView——SnapHelper详解
https://www.jianshu.com/p/e54db232df62简介RecyclerView在24.2.0版本中新增了SnapHelper这个辅助类,用于辅助RecyclerView在滚动结束时将Item对齐到某个位置。特别是列表横向滑动时,很多时候不会让列表滑到任意位置,而是会有一定的规则限制,这时候就可以通过SnapHelper来定义对齐规则了。SnapHelper是一...
2018-10-22 13:58:38
1195
转载 Android DataBinding 从入门到进阶
原文地址:https://blog.csdn.net/new_one_object/article/details/80412530DataBinding 是谷歌官方发布的一个框架,顾名思义即为数据绑定,是 MVVM 模式在 Android 上的一种实现,用于降低布局和逻辑的耦合性,使代码逻辑更加清晰。MVVM 相对于 MVP,其实就是将 Presenter 层替换成了 ViewModel 层...
2018-10-13 10:40:04
2166
转载 并发之痛 Thread,Goroutine,Actor
http://jolestar.com/parallel-programming-model-thread-goroutine-actor/本文基于我在2月27日Gopher北京聚会演讲整理而成,进行了一些补充以及调整。投稿给《高可用架构》公众号首发。聊这个话题之前,先梳理下两个概念,几乎所有讲并发的文章都要先讲这两个概念:并发(concurrency) 并发的关注点在于任务切分。...
2018-09-28 20:32:40
264
转载 Gradle依赖排除
在引用依赖时经常会有这样的问题:某些间接引用的依赖项是不需要的;产生了依赖冲突。此时需要排除一些依赖。下面的内容介绍了几种在gradle中排除依赖的方式。在dependency中排除 1 2 3 4 5 6 7 8 dependencies { compile('com.zhyea:...
2018-09-04 16:38:04
38421
转载 Android Debug Database 一个好用的Android数据库调试查看工具
原文地址 http://blog.csdn.net/qq_25806863/article/details/62216763平时要查看手机数据库内容就很麻烦了,就算把db文件下载到电脑上了,还需要下载专门的数据库工具来查看。而且每次修改数据库都需要重新下载,很麻烦。 然后今天发现了Android Debug Database, githud地址:https://github.com/ami...
2018-09-03 11:47:32
312
转载 深入理解 Kotlin 类属性
Kotlin 类属性可以说是 Kotlin 类最难理解和掌握的部分了,变化多、关键字多、限制多,与 Java 差别相当大,很多人都会在这上面栽不少坑,今天我们就一起来深入看看 Kotlin 类属性。Kotlin 中去除的类属性关键字Kotlin 中去除了几个用于类属性的关键字,需要用注解实现。 transient:这个关键字表示该属性是「瞬时」的,不参与类的序列化。Kotlin 中用...
2018-08-29 13:07:27
2508
转载 Kotlin Basics: Standard Extension Functions kotlin
https://lmller.github.io/kotlin-standard-extensionsKotlin’s most powerful feature (compared to Java) are probably Extension Functions.They allow you to add new functionality to an existing class, w...
2018-08-27 11:57:13
200
转载 Mastering Kotlin standard functions: run, with, let, also and apply
https://medium.com/@elye.project/mastering-kotlin-standard-functions-run-with-let-also-and-apply-9cd334b0ef84国内的文章基本上都是泛泛而谈,说不清楚,老外的这个文章讲的算不错的~另外这里有讨论:https://stackoverflow.com/questions/45977011/...
2018-08-24 13:44:24
334
转载 深入理解 RecyclerView 系列之一:ItemDecoration
本文是 Piasy 原创,发表于 https://blog.piasy.com,请阅读原文支持原创 https://blog.piasy.com/2016/03/26/Insight-Android-RecyclerView-ItemDecoration/RecyclerView 已经推出了一年多了,日常开发中也已经彻底从 ListView 迁移到了 RecyclerView,但前两天有人在一...
2018-08-23 13:57:34
266
转载 Android内存优化:DVM和ART原理初探
前言要学习Android的内存优化,首先要了解Java虚拟机,此前我用了多篇文章来介绍Java虚拟机的知识,就是为了这个系列做铺垫。在Android开发中我们接触的是与Java虚拟机类似的Dalvik虚拟机和ART虚拟机,这一篇我们就来了解它们的基本原理。1.Dalvik虚拟机Dalvik虚拟机( Dalvik Virtual Machine ),简称Dalvik VM或者DVM。它是...
2018-07-27 17:17:18
282
转载 扒一扒 Android 运行时: DVM vs ART
在了解 Android 运行时之前,我们需要了解什么是运行时环境以及一些基本概念,即 Java 虚拟机(JVM)和 Dalvik 虚拟机(DVM)的功能。什么是运行时?简单来说,运行时就是一个供操作系统使用的系统,它负责将你用高级语言(比如 Java)编写的代码转换成 CPU/处理器能够理解的机器码。运行时由你的程序运行时所执行的指令构成,尽管本质上它们不属于程序代码的任何一部分。...
2018-07-27 17:16:47
202
GridSectionAverageGapItemDecoration BRVAH的Section中自定义间距,条目完美均分,支持Section顶部和底部间距
2019-05-31
Dive Into Python 3 中英文合集-Mark Pilgrim
2012-11-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人