文章目录

Full Screen Developer

全屏(栈)工程师

Android开发小技巧之商品属性筛选与商品筛选 有更新!

#前言 一周一篇文章,果真是不太容易。顺便吐槽一下上周也就是9月5号的文章,几天之内就耗完了我1.4G的空间流量,吓得我都抽搐了。 这个次为大家带来的是一个完整的商品属性筛选与商品筛选。什么意思?都见过淘宝、京东等爱啪啪吧,里面有个商品详情,可以选择商品的属性,然后筛选出这个商品的具体型号,这样应该知道了吧?不知道也没关系,下面会有展示图。 关于商品筛选是有两种方式(至少我只见到两种): 第一种: 将所有的商品的所有属性及详情返回给客户端,由客户端进行筛选。 淘宝用的就是这种。 第二种: 将所有的属性返回给客户端,客户选择完成属性后将属性发送给后台 ,再由后台根据属性筛选出具体商品返回给客户端。 京东就是这样搞的。。 两种方式各有各的好处: 第一种:体验性特别好,用户感觉不到延迟,立即选中立即就筛选出了详情。就是客户端比较费劲。。。 第二种:客户端比较省时间,但是体验性太差了,你想想,在网络不是很通畅的时候,你选择一个商品还得等老半天。 因为当时我没有参加到这个接口的设计,导致一直在变化。。我才不会告诉不是后台不给力,筛选不出来才一股脑的将所有锅甩给客户端。 技术点 流式布局 商….

Android初级进阶之自定义果冻视图 有更新!

前言 上一个周没有写博客,是我太懒,无法坚持。在上一个周,除去工作的任务(迭代版本,修复BUG)之外,我一直在模仿一个UI效果。我呢,算是一个米粉,我前面的博客,有一些效果就是来自MIUI。在MIUI中,很多的列表都具有弹性和粘性,个人觉得这个效果不错,于是就模仿了一下。 本来开始之初是为了将这个效果封装成为一个单独的UI控件,结果写着写着就发现这样是不合理的,于是就放在一旁等待解决方案,先看看实际的效果吧。(前面两个是我项目中的实际效果) 怎么样,看上去效果还是挺可以的吧,不得不说,MIUI在一些小细节上面做得非常不错,很多效果都值得我们深入的进行学习。 注意 本博客最主要的是为了向大家展示一种解决思路,文章中的类表效果用到实际项目中还是有些许问题。 为了方便起见,本文中使用的动画效果来自于JakeWharton大神的NineOldAndroids的支持库,个人非常不建议新手直接就来使用开源库,最起码应该熟悉一些基础。 分析 刚开始的时候,我一直在网上找类似的效果,一直是没有找到。直到我学习完属性动画之后才发现,其实这个效果实现起来是非常的简单。 整个效果看上去分为上拉和….

Android小技巧之无限循环的ViewPager 有更新!

前言 之所以会写着篇文章的原因是我现在项目用运用到了广告轮播(BannerView),当时在赶项目的时候在github上面找到了符合的开 源库 就直接引用了,但是该开源库稍微有点庞大,功能比较繁多。于是在这样的情况之下,我决定自己造轮子。(现在处于项目完善和迭代器,正在重构项目,去除多余的第三方等以减少APK的大小,增加用户的体验度) 效果图如下,为了录制效果,所以将速度加快了。 Step1 在这期间碰到的第一个难点就是ViewPager的无缝循环,于是乎在各种谷歌之下发现都是千篇一律的代码之后依然投入了stackoverflow的怀抱,最终找到了解决无缝循环的两种方式: 第一种: 左右各增加一个页面,造成无缝的假象 第二种: getcount的时候返回Integer.MAX_VALUE,这种方式会创建大量的对象,对于我来说不可取。 Step2 第一种方法实现起来非常的简单,其原理是在Adapter里面实现OnPageChangeListener接口,重写onPageSelected来搞定,假如我有三个页面需要相互切换: A<->B<->C 只要在初始化数据….

记Kotlin与Arouter使用kapt循环依赖 有更新!

问题 Error:Circular dependency between the following tasks: :module_home:compileDebugKotlin -– :module_home:kaptDebugKotlin -– :module_home:compileDebugKotlin () () - details omitted (listed previously) 解决方案 使用高版本的gradle classpath ‘com.android.tools.build:gradle:2.3.3’ 这是一个Kotlin Gradle plugin 1.1.2-4的BUG buildscript { … dependencies { … classpath ‘org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-2’ } } 在 local.properties 添加以下: kotlin.incremental=false 地址 原地址

崩溃解决方案 有更新!

1.Activity被销毁弹出窗口而崩溃 描述 android.view.WindowManager$BadTokenException: Unable to add window – token android.os.BinderProxy@42a40b58 is not valid; is your activity running? 解决方案 if(!((Activity) context).isFinishing()) //弹出dialog } 2. Fragment必须要留有一个空的构造方法 描述 make sure class name exists, is public, and has an empty constructor that is public

ViewPager实现层叠卡片 有更新!

(一) 开始 ViewPager实现一个层叠的卡片,先看看效果 我将其用在了APP的引导页面上,这个效果虽然看上去很难,但实际上实现起来特别的简单,主要是使用PageTransformer来实现这个效果,推荐先看一下hongyang的前置教程:Android 自定义 ViewPager 打造千变万化的图片切换效果,请确保你已经掌握前置,原理里都写了,就不在累述.(主要还是因为太懒了) (二) 编码 1. 首先我们先创建一个Activity,配置好页面,就像以下效果。一个ViewPager,里面放fragment,fragment里面就放一个CardView。还需要给viewpager的setOffscreenPageLimit一个大一点的值。 正常情况下,viewpager里面的内容是水平排列的。现在要做的第一步,就是将viewpager里面所有的view都显示在同一个位置,那么就需要自定义PageTransformer了。 2. 自定义PageTransformer 既然ViewPager里面的View是水平排列的,那么只要将每个view的x轴坐标更改为:view的宽度乘以下标的….

FTP连接

CentOS6.7 vsftpd配置 查看是否已经安装 rpm -qa | grep vsftpd 删除: rpm -e xxx可以删除已安装的vsftpd 安装: yum -y install vsftpd -y 启动: service vsftpd start 开机自启动: chkconfig vsftpd on 开关: 开启、重启、关闭 service vsftpd start service vsftpd restart service vsftpd stop 配置 vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO ascii_upload_enable=YES ascii_download_enable=YES ftpd_banner=Welcome to LINTUT ftp service. use_localtime=YES 配置防火墙 vi /etc/sysconfig/iptables INPUT -p tcp -m state –state NEW -m tcp –dport 21 -j ACCEPT -….

Android初级进阶之自定义时钟(二)

在上一篇Android初级进阶之自定义时钟(一)里面已经完成了时钟的静态绘制,是这个样子的: 现在我们要做的是在上面的基础上继续完善,达到以下的效果。 前言 果然,我还是不够格,还是要继续学习,继续积累。上一篇不是已经完成了页面的绘制咯,然后需要将时分秒的指针动起来,与系统时间对应,想了老半天:没有办法计算出指针的x2和y2坐标,于是什么勾股定理,三角函数统统上了一遍,结果还是不行。最后才发现,答案就在前面,我已经写出来了 绘制刻度线与刻度值是最大的难点,在这里就是利用了Canvas为我们提供的rotate方法,顾名思义,就是旋转画布。我们以视图坐标系 x y 进行绘制,没绘制完成一次,旋转相应的角度就完成了刻度线的绘制。玩过PS的人应该好理解。 明明都已经将刻度盘都画出来了,那么是不是只要将刻度盘的刻度的长度延伸,这不就是时分秒指针了吗?作孽啊! 获取当前的时间 int hour = Integer.parseInt(new SimpleDateFormat(“HH”).format(new Date())); int minute = Integer.parseInt(ne….