Android开发技巧——写一个StepView

在我们的应用开发中,有些业务流程会涉及到多个步骤,或者是多个状态的转化,因此,会需要有相关的设计来展示该业务流程。比如《停车王》应用里的添加车牌的步骤。 通常,我们会把这类控件称为“StepView”。上图的这种设计相对来说还是比较简单的,下面我们以它为例,来一步步写我们的“StepView”。那么,实现这样的一个“StepView”,我们会需要哪些知识呢?所需知识 布局测量 图形文字绘制 文...
阅读(458) 评论(0)

Android开发技巧——实现设计师给出的视觉居中的布局

本篇主要是对自定义控件的测量方法(onMeasure(int widthMeasureSpec, int heightMeasureSpec)在实际场景中的运用。 在移动应用的设计中,经常有这样的界面:某个界面的元素非常少,比如空列表界面,或者某某操作成功的界面,只有一两个像素在中间。但是它们在某个布局里又不是数学上的那个居中,而是经过设计师调出来的“视觉居中”。这种“视觉居中”内部是怎么计算的,我...
阅读(343) 评论(0)

Android开发技巧——FlingViewPager与RecyclerPagerAdapter

刚才看了一下,距我上次写原创博客已经有三个多月了。当然,这三个多月一直没有去写博客的借口有很多,这次就不赘述了。 本篇讲的是在上次项目开发中封装的两个类,这两个类除了正好是分别继承自ViewPager及PagerAdapter,并没有其他更多的联系,所以我主要是介绍一下它们所涉及到的一些比较实用的开发技巧及知识。FlingViewPager首先说一下我写这个类的场景。在我们的一个项目中,有以下需求...
阅读(422) 评论(0)

Android开发技巧——使用Drawable实现小红点

在产品的设计中,总难免需要我们开发去实现各种各样的小红点,小红点,小红点。 通常,我们可能会这样做: 用一个View实现小红点,放在相对布局里,设置好内边距或外边距,让它位于图片的右上角。 或者是给图片套一个相对布局,设置好图片的外边距,然后把表示小红点的View放在这个相对布局里面的右上角。这个应该是最简洁直观的实现方法。然而,它也有它的局限之处。比如在我这次的开发当中,一开始只...
阅读(1573) 评论(2)

说一说关于破解支付宝AR红包的事

当朋友圈的你们才开始分享支付宝AR红包的消息的时候,我已经对它动了一二三四次歪脑筋了,虽然事实证明并不是那么顺利,至今我也只在电脑前识别出5个不知道在哪里的红包,其中一个还因为定位信息不符开不了。 昨天上午听公司的小伙伴说起支付宝新推出的AR红包,LBS加图像识别的另一个创新,可说是支付宝在社交互动这一块终于打出来的一张好牌。然而,在许多人还在奔走相告这个消息的时候,我已经和小伙伴们对它动起了歪心思...
阅读(4835) 评论(4)

Android开发技巧——BaseAdapter的另一种优雅封装

RecyclerView虽然因其灵活性、高效性等特点而备受好评,但也不是一定得用它把ListView给替代掉。在某些场景中,ListView还是相对更适合的。比如数据量不大,不频繁更新,并且需要简单地设置一下divider或header、footer的时候,相对于RecyclerView的繁琐,ListView在实现上则更表现得更方便和简洁。过去的封装在使用ListView的过程中,为了复用List...
阅读(1182) 评论(3)

解放双手——Android的自动化构建及发布

在一个App从开发到测试的过程中,我有很长一段时间都是这样做的:打包,上传到tower,在tower上编写本次更新说明,通知测试。一般情况下,打包及上传的过程大概也就2分钟。除此之外,由于项目代码有作混淆,并且使用了bugly,因此在发出每个版本之后还需要将混淆的mapping.txt传到bugly上。当日复一日,并且有时还遇到网络较差的情况时,这种人工手动的工作方式就很影响工作效率及心情了。因此,...
阅读(1466) 评论(1)

NavigationView使用过程的问题解决

NavigationView是android support design库提供的侧滑面板控件,通常与support v4库里的DrawerLayout侧滑控件搭配使用。以下是使用过程中遇到的问题及解决方式。菜单图标颜色被渲染成其他颜色NavigationView默认会按照 Android 设计规范,将菜单里的图标渲染成itemIconTint所设置的颜色。如果你没有设置这个属性,则会渲染成它默认的...
阅读(1020) 评论(0)

解决使用BottomSheetDialog时状态栏变黑的问题

问题描述当使用support里的design 库里的BottomSheetDialog时,在6.0的机器上当对话框弹出时系统状态栏会变黑,如下图所示: 一开始以为是我用的姿势不对,试过对style配置状态栏颜色,配置其他可能影响到的属性都没成功,今天google了一下,发现应该是BottomSheetDialog本身实现的问题,见:https://code.google.com/p/andro...
阅读(3398) 评论(5)

Android Design Support Library使用详解——TextInputLayout与TextInputEditText

TextInputLayout在谷歌的Material Design中,文本输入是这样表现的:当用户点击输入框想要输入文字时,如果输入框是空的,那么它的提示文字(hint)就会变小并且同时移动到输入框的上方;如果文字不为空,则上方一直浮着这个提示文字(见https://material.google.com/components/text-fields.html#text-fields-input...
阅读(3385) 评论(0)

Android Design Support Library使用详解——Snackbar

Google在2015 I/O大会上,给我们带来了更加详细的Material Design规范,同时也引入了Android Design Support Library,为我们提供了基于Material设计规范的控件。它兼容性广,能兼容到android 2.1(按Google官方数据,兼容android 2.3以上即可覆盖当前市面上所有Android设备),并且高度封装,使用简洁,可谓业界良心之作。...
阅读(2669) 评论(0)

Android开发技巧——设置系统状态栏颜色

开门见山,先来三张效果图: 然后我们再来讲如何实现以及如何快速地实现。如何实现实现设置系统状态栏颜色需要至少在Android 4.4.2(API 19)以上。这是因为,在这个版本以下,没有任何的API可以帮助我们来实现。那么具体如何设置呢?Android 4.4.2实现Android 4.4.2新增了一个特性,即可以设置系统状态栏为半透明。设置方法有两种,一是通过在主题style中添加以下...
阅读(26049) 评论(32)

Android源码解析——LruCache

我认为在写涉及到数据结构或算法的实现类的源码解析博客时,不应该急于讲它的使用或马上展开对源码的解析,而是要先交待一下这个数据结构或算法的资料,了解它的设计,再从它的设计出发去讲如何实现,最后从实现的角度来讲回源码,才能深入理解。这是最新读了一些博客之后的思考。对此问题如果你有其他见解,欢迎留言交流。 LRU在读LruCache源码之前,我们先来了解一下这里的Lru是什么。LRU全称为Least Re...
阅读(8512) 评论(0)

Android源码解析——Toast

#简介 Toast是一种向用户快速展示少量信息的视图。当它显示时,它会浮在整个应用层的上面,并且不会获取到焦点。它的设计思想是能够向用户展示些信息,但又能尽量不显得唐突。本篇我们来研读一下Toast的源码,并探明它的显示及隐藏机制。 #源码解析 ##Toast 我们从Toast的最简单调用开始,它的调用代码是: ```java Toast.makeText(context,"Show toast",Toast.LE...
阅读(9120) 评论(2)

Android源码解析——AsyncTask

简介AsyncTask 在Android API 3引入,是为了使UI线程能被正确和容易地使用。它允许你在后台进行一些操作,并且把结果带到UI线程中,而不用自己去操纵Thread或Handler。它被设计为一个围绕着Thread和Handler的辅助类,而不是一种通用的线程框架。在API文档中,建议你把它用于一些耗时比较短(大部分情况下只有几秒)的操作,如果你需要让线程长期运行,则强烈推荐使用jav...
阅读(1950) 评论(1)
75条 共5页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1888212次
    • 积分:13094
    • 等级:
    • 排名:第1008名
    • 原创:129篇
    • 转载:0篇
    • 译文:79篇
    • 评论:829条
    QQ群
    博客专栏
    最新评论
    欢迎访问我的博客
    我的公众号
    微信关注我的公众号
    站长统计