android随笔
mjc梅
这个作者很懒,什么都没留下…
展开
-
可自动换行的单选 RadioGroupEx
今天要说的,并不是很复杂的,但确是很常见的。下面这个图,就是今天的主角(可换行的RadioGroup): 可换行的单选效果,在大多网购的app中选择物品可以看到。有时原创 2016-01-20 20:48:09 · 7708 阅读 · 5 评论 -
ListView下拉刷新
不知为何,一直对ListView的下拉刷新情有独钟。或许是在项目开发过程中,使用的频率太多了吧。ListView下拉刷新,和自动加载更多,对于大多数人来说,是一个头疼的问题。很多时候,我们都选择使用框架去实现下拉刷新,加载更多,无奈,很多框架很难修改成自己所需要的效果。如果这时候,自己有一个自己的下拉刷新框架,该有多好!我也曾使用过很多的下拉刷新框架,经过自己对这些框架的使用经历,我发现该如何做一原创 2016-01-08 23:47:28 · 1678 阅读 · 4 评论 -
Android 绘制圆形图片
经常在项目中,会遇到使用圆形头像。然而图片往往不是圆形的,我们需要对图片进行处理,以达到圆形图片的效果。这里,我总结了一下常用的android圆形图片的绘制的方法。主要有以下几种方式:1.画布裁剪;2.Xfermode进行重叠;3使用着色器shader。下面我们将一个一个进行描述: 第一种,画布裁剪:通过创建空白的Bitmap生成canvas画布,然后将画布进行裁剪成圆形,最后在画布上进原创 2016-02-17 12:37:59 · 1127 阅读 · 0 评论 -
滑动关闭页面(完善动画)
在滑动关闭Activity中,我发现动画不能完好的使用,主要是在主题中,屏蔽了动画效果。我再重新把动画效果进行了完善,代码中借鉴了SwipeBackLayout-master的思路,动态修改主题。我在原来的代码中,做了稍微的修改,动态设置主题。修复了动画设置效果。下面重新把代码贴上。附:源码原创 2016-03-09 16:06:26 · 998 阅读 · 0 评论 -
滑动关闭Activity
常常可以看到,很多Android应用都有这么一个功能,就是滑动关闭Activity,比如微信,CSDN移动端,百度贴吧移动端等。我自己也想写个滑动关闭Activity,最近事件没有那么多,我就google了一下,查看了一下实现滑动关闭Activity的实现方法,其中,有个思路,我觉得很不错,因此,在这里,我通过别人的思路,自己实现了一下滑动关闭Activity的方法,在此记录一下。我希望这篇博客,原创 2016-02-29 11:56:29 · 6772 阅读 · 4 评论 -
RecyclerView下拉刷新和加载更多
之前一直写的是ListVIew下拉刷新,但是好多朋友都说要RecycleView的下拉刷新和滑动加载,其实,这个原理都是差不多。抽空,我就写了下RecycleView的下拉刷新和滑动加载更多。因此,这才写到博客里,记录一下。 在大家阅读这篇博客前,大家需要了解的知识:1.Scroller。实现弹性滑动的类,这个是经常用到的,不懂的请自觉先学习Scroller的知识原创 2016-03-14 16:36:36 · 4929 阅读 · 5 评论 -
联系人列表字母排序索引(一)
很久没有写博客了,对自己又放松了很多。这篇博客本来早就要写了,迟迟拖到现在。今天这里要说的是,联系人列表,分组带索引,即联系人按字母顺序排列并分组,右边还有索引条。先看下效果:就是这么一个效果,想必大家都想知道是怎么实现的吧。其实很简单,接下来我会慢慢讲解这个效果的实现。首先我们分析这个联系人列表的组成:1.联系人列表 ----- ListView2.右边索原创 2016-05-31 13:57:01 · 4605 阅读 · 1 评论 -
是男人就下100层(简仿)
进来,事情不多,闲暇之时,就想写个简单的游戏练练手。太复杂了,不使用游戏引擎来做,是非常困难的。这里,其实也没有打算说,开发一款游戏上线,就是练习自定义控件原创 2016-03-08 13:52:23 · 7206 阅读 · 13 评论 -
联系人列表字母排序索引(三)
也是忙忙碌碌好几天,今天又有时间了,继续这个文章的编写。今天是这篇文章的最后一部分。主要内容包括以下几点:1.将中文名字转化成拼音,并提取首字母,进行排序。2.实现分组列表Adapter模板。3.将列表与索引结合在一起。pinyin4j是一个将中文转化成拼音的高效工具,我的源码中带了这个依赖包。通过这个工具,可以先获取一个中文的拼音。 public static原创 2016-06-06 11:34:07 · 5511 阅读 · 0 评论 -
联系人列表字母排序索引(二)
上一篇讲到自定义View,右边字母索引,如果还没看第一篇文章的,请先看联系人列表字母排序索引(一)。今天这里讲如何展示悬浮窗并显示对应的字母。首先,我们需要一个悬浮窗,然后将悬浮窗和字母索引链接起来。1.悬浮窗的实现。要实现一个悬浮窗口,我们需要通过WindowManger来实现,这个使用是比较简单的。新建一个类,LetterWindow.class 这个类需要完成的功能是,显示窗原创 2016-06-03 16:13:58 · 1115 阅读 · 0 评论 -
动画总结分析
动画的分类1.帧动画 2.补间动画 3.属性动画 帧动画:继承结构:–drawable –DrawableContainer –AnimationDrawable 可见:AnimationDrawable是继承的drawable。用法:在drawable目录下定义一个XML动画文件,根节点为animation-list,中间节点为item(item设置好图原创 2016-08-16 13:56:24 · 804 阅读 · 0 评论 -
Android Handler机制
Android Handler消息机制,在Android中扮演了很重要的角色。通过Android Handler,能够实现延迟处理、子线程更新主线程界面等功能。(Android更新UI,一定需要在主线程中,这个规定的原因是,多个线程同时更新UI会造成UI界面更新混乱,不利于管理,因此,程序在初始化时,主线程中就初始化了UIHandler)。 Handler机制主要涉及到几个类: -原创 2016-08-24 15:10:28 · 624 阅读 · 1 评论 -
File类讲解
File类代表的是一个文件或者是一个目录的路径名称。常常会有错误的理解:File类是文件。其实不然,看File的文档注释(An abstract representation of file and directory pathnames.),File类是文件和目录路径名称的表示。通过File类,我们可以定位到File类对应的文件或目录;因此也有人说File代表的是文件和目录,但我认为,文档注释英原创 2015-12-13 15:41:02 · 763 阅读 · 0 评论 -
史上最详细的TabHost菜单栏实现
众所周知,ActivityGroup和TabHost已经过时原创 2014-06-20 15:16:50 · 1334 阅读 · 0 评论 -
自定义ProgressBar样式
2分钟,快速学会自定义圆形进度条和水平进度条样式原创 2015-04-01 15:02:40 · 953 阅读 · 0 评论 -
ListView无数据,显示点击加载等友好界面
listView在未加载出数据时,会显示很大的空白,这显示就不友好,因为从交互上来说,用户不知道这到底怎么回事。所以,这里针对这个问题作出较好的解决方法。我们从美团等做的较好的APP上可以看到动画小人在跑的效果。那这个是怎么做的呢?我不会从最基本说起,我只谈关键的地方,起点睛之意。初学者很多都没注意到ListView有个方法:setEmptyVIew(View view),这个方法的作用,简单原创 2015-04-19 11:17:53 · 1197 阅读 · 0 评论 -
图片压缩算法,保证图片不失真
在各种项目中,都难免遇到图片的上传和下载,然而,图片的上传,需要压缩后再上传才是明智之举;然后,压缩图片可能会导致图片的失真等等问题,在这里,我将在工作中使用的比较好的图片压缩方法,分享给大家。//此处的path为文件的绝对路径 public static Bitmap revitionImage(String path) throws IOException { //通过路径获取文件流原创 2015-04-18 14:08:06 · 2667 阅读 · 0 评论 -
图片极致压缩,不失真
在各种项目中,都难免遇到图片的上传和下载,然而,图片的上传,需要压缩后再上传才是明智之举;然后,压缩图片可能会导致图片的失真等等问题,在这里,我将在工作中使用的比较好的图片压缩方法,分享给大家。原创 2015-04-24 12:49:53 · 2145 阅读 · 0 评论 -
Framework启动过程
了解android的都知道,android系统是建立在linux内核以上,添加了硬件抽象层(保护厂商的利益,保密各种硬件参数),然后搭建了android Framework,android应用就运行在最顶端。在这里,简要记录自己对Framework启动过程的理解。 首先系统在启动linux内核后,开始启动Framework层。Framework层,是从什么开始启动的呢?linux启动结原创 2015-05-04 22:43:56 · 673 阅读 · 0 评论 -
仿QQ长按弹出功能菜单
android app普遍常用的弹出上下文菜单是列表式的。QQ列表,在上方弹出冒泡效果菜单,如图这里讲解一下如何写出这个效果:图片资源:两张图片,可以拼接成如上效果。首先,我们需要写布局文件: layout_pop.xml (mipmap是android studio 的引用图片的写法,以前常用@drawable/xxx)<?xml version="1.0" encoding="utf-8原创 2015-07-08 15:44:44 · 5530 阅读 · 0 评论 -
addView(View,index) 用法
这里主要说明一下addView 的index的意义1.index表示的是,将View添加到index指定的这个View的下面。2.index在布局的层级结构中,首先父布局 index =0,父布局的第一个字布局index=1,一次类推。3.index=-1表示将参数View添加到容器的最底部。 Linear layout index=0TextView原创 2015-08-11 11:27:16 · 10978 阅读 · 0 评论 -
MD5加密算法
android md5加密算法原创 2015-08-18 10:07:50 · 595 阅读 · 0 评论 -
WebView解析之设置
WebView是用来展示网页的,使得网页能在Activity中显示。WebView是基于WebKit的,因此包含了前进,后退,历史,放大,缩小等功能。我们在使用WebView的过程中,常用的是哪些设置呢? 1.防跳转到外部浏览器设置 2.进度条等控制 3.JS注入 4.离线缓存 首先,我们先来了解两个方法,se原创 2015-11-05 10:27:34 · 581 阅读 · 0 评论 -
WebView解析之适配
对于android WebView 适配网页,有两个最基本的因素需要考虑。1.viewport配置和当前页面的尺寸。2.设备像素。通过在Web页面,配置viewport,可以设置web的宽高,缩放比例,是否可缩放。 viewport是定义在Web页面的,如下所示 Example viewport决定了当前Web页面所能绘原创 2015-10-30 11:25:14 · 638 阅读 · 0 评论 -
线程池ThreadPoolExecutor分析
线程池,线程池是什么,说到底,线程池是处理多线程的一种形式,管理线程的创建,任务的执行,避免了无限创建新的线程带来的资源消耗,能够提高应用的性能。很多相关操作都是离不开的线程池的,比如android应用中网络请求的封装。这篇博客要解决的两个问题是:1.线程池的工作原理及过程。2.常用的四种线程池。要分析线程池的工作原理及过程,还是要从它的源码实现入手,首先是线程是构造方法,何谓原创 2016-03-31 23:19:57 · 1396 阅读 · 0 评论