- 博客(14)
- 收藏
- 关注
原创 对listview和recyclerview条目的展示和退出进行监听
背景:最近碰到一个需求,要统计列表中每个条目的总展示时长和单次最大展示时常,然后就在网上借鉴了不少代码,整了个这玩意儿。怎么做:首先,需要实现对列表条目展示和退出的监听,在某个条目进入屏幕的时候记录一个时间戳,退出的时候再记录一个,两者的差值就是条目的展示时长开始:public class OnItemEnterOrExitVisibleHelper { private int lastStart = -1; private int lastEnd; private
2020-06-23 21:43:09
646
原创 手把手教你实现一个安卓环形进度条
背景:最近做了个如图所示环形进度条,下面来记录一下实现过程,废话不多说,先上图除了图中所示的样子之外,还实现了进度自动增长,点击复位所用到的知识基础的安卓view的绘制基础的安卓属性动画怎么做:首先,这个进度条由三部分组成:1.浅灰背景,2.白色进度,3.中间一个图片所以就分别画这三部分就可以了,从最下面开始画开始:class KsFloatProgressView extends View { private static final float STROKE_WI
2020-06-18 20:10:41
685
原创 手把手教你实现一个通用的安卓权限请求工具
背景:众所周知,安卓6.0以后有了权限动态申请机制,很多功能需要在运行时申请权限,下面就来一起实现一个申请运行时权限的工具类吧前提:首先,动态申请权限一般的写法是在activity里调用“ActivityCompat.requestPermissions”,然后重写activity的“onRequestPermissionsResult”方法获取授权结果,但是,这样写会有两个问题,1.破坏activity的结构,在每个需要申请权限的activity的方法都需要重写“onRequestPermiss
2020-06-11 21:29:56
447
原创 常见的几种排序(java实现)
1.冒泡排序冒泡排序是每次选出最大/小的数,将其排到末尾,选择过程是和每个数进行比较,n个数要排n次,第i次比较次数为n-i,所以算法如下public void maopao(int[] arr){ for(int i=0;i<arr.length;i++){//比n次 for(int j=0;j<arr.length-i-1;j++){//每次都是从第0个开始比到第n-i个...
2019-11-20 16:29:41
162
原创 常用但是容易忘的git命令
//删除远程分支git push origin --delete dev//删除本地分支git branch -d dev
2019-11-12 15:35:46
99
原创 flutter-自定义floatingActionButton位置
效果图介绍原生提供有几种设置位置方法,但是位置较少,无法满足所有需求,仿照源码写了这个,很简单,效果还行实例代码源码地址
2019-08-12 16:33:58
3801
2
原创 flutter-自定义进度条
效果图代码class NewUserProgressWidget extends StatelessWidget { int progress; double width = 60; double height = 5; double radius = 5; NewUserProgressWidget(this.progress); @override @ov...
2019-08-12 16:11:02
3154
原创 安卓viewpager嵌套webview的滑动冲突解决
问题描述需求是这样的,viewpager内部嵌套多个不同的网页,滑动切换显示不同html5网页,想法是好的,但是遇到了一些问题。其中html网页中也会有一些类似viewpager的可横向滑动控件,当你尝试滑动html中的有滑动效果的控件时,发现整个外部viewpager都跟着滑动了,直接切换到另一个网页,哈哈哈,好棒解决办法解决办法有三个,其中第一个办法最苯,第二个还可以,但是略麻烦,第三个...
2019-01-24 01:30:17
2215
2
原创 java的equals字符串返回false
问题叙述今天写java作业的时候遇到了一个灵异事件,没错,就是灵异事件,明明两个字符串(中文)是完全一样的,在控制台输出也是一样的,可调用equals方法就是返回false 不过值得一提的是,两个字符串是从两个不同的文件读出来的,但是字符串编码都一样,都是“utf-8”, 那么问题到底在哪呢?问题原因后来分析,问题原因可能是其中一个文件的字符串是那个文件的第一行,另一个字符串是中间的一行,那个第
2017-12-19 22:17:07
3008
转载 纯数组的json的解析
例子 //Json的解析类对象 JsonParser parser = new JsonParser(); //将JSON的String 转成一个JsonArray对象 JsonArray jsonArray = parser.parse(json).getAsJsonArray();
2017-11-16 12:47:41
1168
1
原创 数据库sql给某列添加唯一约束
今天使用mysql数据库,建立了一个user表,字段分别是id,username,password 主键是id和username,但是问题来了,username是可以重复的,因为我设的id是int自增,这就很不对劲了,所以给username添加了唯一性约束,添加语句如下ALTER TABLE USER ADD CONSTRAINT uquser UNIQUE (username)语句解释alter
2017-11-10 20:36:57
30304
1
原创 对okhttp的简单封装
之前学习安卓的时候一直使用xutils进行网络请求和图片加载,很是强大,后来换了okhttp,但是它的封装性略低,请求个网络代码一大堆,所以就进行简单的封装,新手可以学习一下回调的使用代码public class MyHttpUtil { private static OkHttpClient mOkHttpClient; public static void doGet(Strin
2017-11-09 21:06:30
221
转载 解决android - View can not be anchored to the the parent CoordinatorLayout
今天照着新买的书学习代码 结果出现了如题异常 网上搜索解决了问题 原来是design有更新了 在design:23.2.0’以上当把FloatActionBar的anchor写成CoordinatorLayout就会出现异常(好坑啊)解决办法这样的话FloatActionBar把anchor换一个就行了,别用CoodinatorLayout的,我后来换成一个布局里的一个Viewpager,
2017-09-30 20:55:23
1011
原创 安卓学习-数据缓存
安卓学习-数据缓存public abstract class BaseProtocol<T> { // index表示的是从哪个位置开始返回20条数据, 用于分页 public T getData(int index) { // 先判断是否有缓存, 有的话就加载缓存 String result = getCache(index); if (
2017-09-17 15:51:40
248
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人