Android学习
文章平均质量分 86
lxq_xsyu
这个作者很懒,什么都没留下…
展开
-
Android自定义组件系列【17】——教你如何高仿微信录音Toast
一、Toast介绍平时我们在Android开发中会经常用到一个叫Toast的东西,官方解释如下 A toast is a view containing a quick little message for the user. The toast class helps you create and show those. When the view is shown to the use原创 2016-04-11 21:46:59 · 5171 阅读 · 1 评论 -
Android自定义组件系列【6】——进阶实践(3)
上一篇继续对任老师的《可下拉的PinnedHeaderExpandableListView的实现》进行了分析,这一篇计划中间插一段“知识点”,对Android中的事件分发机制进行解析。细心的朋友可能会发现,打开大牛写的Android项目,里面很多组件都是自定义的(这就是为什么界面和体验这么吸引你的原因),但是要灵活的去自定义组件就必须对手势(也就是各种监听)必须熟悉,能处理好事件之间的关系。先看一原创 2014-05-15 14:16:08 · 2977 阅读 · 2 评论 -
Android中密码输入内容可见性切换
今天在做项目的时候遇到了一个关于密码输入框可见性切换问题,上网搜了搜,这里面门道还不小,做一个记录吧,下次遇到就好解决了。首先写了一个简单的测试工程:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:l原创 2014-04-10 19:34:31 · 7498 阅读 · 5 评论 -
Android菜鸟的成长笔记(27)——ViewPager的使用
ViewPager是Android 3.0以上可以使用的API。一、ViewPager能干什么?1、微信5.0中连带滑动用ViewPager可以轻松实现。2、实现类似于新浪微博的导航引导界面。3、实现其他导航或菜单。二、ViewPager的使用1、添加布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"原创 2014-05-14 10:11:22 · 4330 阅读 · 4 评论 -
Android自定义组件系列【5】——进阶实践(2)
上一篇《Android自定义组件系列【5】——进阶实践(1)》中对任老师的《可下拉的PinnedHeaderExpandableListView的实现》前一部分进行了实现,这一篇我们来看看ExpandableListView的使用并实现剩下的部分。原文出处:http://blog.csdn.net/singwhatiwanna/article/details/25546871一、Expandabl原创 2014-05-15 00:53:41 · 7435 阅读 · 17 评论 -
Android菜鸟的成长笔记(27)——SurfaceView的使用
前面有关自定义View中进行了绘图,但View的绘图机制存在如下缺陷:1、View缺乏双缓冲机制。2、当程序需要更新View上的图像时,程序必须重绘View上显示的整张图片。3、新线程无法直接更新View组件。由于View存在上面缺陷,所以在游戏开发中一般使用SurfaceView来进行绘制,SurfaceView一般会与SurfaceHolder结合使用,SurfaceHolder用于向与之关联原创 2014-05-06 15:03:28 · 4416 阅读 · 2 评论 -
Android自定义组件系列【2】——Scroller类
在上一篇中介绍了View类的scrollTo和scrollBy两个方法,对这两个方法不太了解的朋友可以先看《自定义View及ViewGroup》scrollTo和scrollBy虽然实现了视图的偏移,但是却没有更好的控制移动过程,移动是瞬间进行的。Scroller类就是为解决这个问题而设计的。打开Scroller的源代码,可以看到startScroll方法: /** * Start原创 2014-04-18 11:30:47 · 4631 阅读 · 3 评论 -
是男人就下100层【第二层】——帮美女更衣(1)
去年有一段时间有一个应用下载量很高,都是男同志的功劳,现在又出了第二版,第二层我们就来实现一下《帮美女更衣》这个应用,很多男生应该熟悉这个应用了吧,这里我就不解释里面的内容了,呵呵。先看看我们要实现的效果原创 2014-03-09 19:29:35 · 6786 阅读 · 2 评论 -
是男人就下100层【第一层】——高仿微信界面(9)
前面几篇文章实现的界面效果不符合4.0的HOLO主题及官方建议的设计规范,感谢“一片冰心在玉壶”给我指出,不然我可能会一直错下去,也会误导大家。接下来这几篇我计划用HOLO主题来高仿一下微信5.0的界面实现。原创 2014-03-06 21:52:32 · 6256 阅读 · 5 评论 -
是男人就下100层【第一层】——高仿微信界面(10)
在上一篇中虽然实现了微信5.0的主界面框架,但是方法似乎有点牵强,官方已经为HOLO主题提供了actionBar我前面翻译过两篇文章《Android官方教程翻译(5)——设置ActionBar》、《Android官方教程翻译(6)——添加ActionBar》,今天我们来看一下如何使用ActionBar以及用actionBar实现微信主界面。原创 2014-03-07 16:30:10 · 7570 阅读 · 4 评论 -
是男人就下100层【第一层】——高仿微信界面(8)
上一篇《是男人就下100层【第一层】——高仿微信界面(7)》中我们实现了下弹式菜单,这一篇我们来看看如何实现微信中的摇一摇功能。原创 2014-03-04 11:22:07 · 8068 阅读 · 13 评论 -
是男人就下100层【第一层】——高仿微信界面(6)
上一篇的《是男人就下100层【第一层】——高仿微信界面(5)》中完成了主界面的框架,今天我们来看看框架内部各个菜单内容的实现。原创 2014-03-04 00:00:08 · 7324 阅读 · 3 评论 -
是男人就下100层【第一层】——高仿微信界面(7)
在上一篇《是男人就下100层【第一层】——高仿微信界面(6)》中我们已经对主界面的的各个菜单进行了简单实现,接下来我们完成两个比较有趣的功能,一个是上部的下弹式菜单,另一个是摇一摇功能。原创 2014-03-04 00:01:24 · 19959 阅读 · 30 评论 -
是男人就下100层【第一层】——高仿微信界面(5)
前面《 是男人就下100层【第一层】——高仿微信界面(4)》中我们已经完成了基本的引导界面和登录界面,这一篇中我们来看看登录后的主界面的布局和内容,来一步一步的完成该界面。原创 2014-03-02 16:16:24 · 8678 阅读 · 6 评论 -
是男人就下100层【第一层】——高仿微信界面(2)
接着上一篇《是男人就下100层【第一层】——高仿微信界面(1)》,本打算实现上一篇文章中的第二个界面,这一篇先来实现一下登陆界面吧,接下来我们来开始登录界面的制作。原创 2014-02-26 23:09:30 · 7784 阅读 · 0 评论 -
Android菜鸟的成长笔记(13)——异步任务(Async Task)
Android的UI线程主要负责处理用户的事件及图形显示,因此主线程UI不能阻塞,否则会弹出一个ANR(Application Not Responding)异常,所以不能在UI线程中执行耗时操作。AsyncTaskAsyncTaskParams:启动任务执行的输入参数的类型Progress:后台任务完成的进度值的类型Result:后台执行任务完成后返回结果的类型例子:原创 2014-02-18 12:53:38 · 4634 阅读 · 3 评论 -
Android菜鸟的成长笔记(12)——Handler、Loop、MessageQueue
当一个程序第一次启动时,Android会启动一条主线程(Main Thread),主线程主要负责处理与UI相关的事件,如按键事件、触屏事件、绘图事件,主线程也被称为UI线程。UI的操作只能是通过主线程来操作,为了解决多线程操作UI的问题,就用到了Handler类。一、Handler类Handler类的作用有两个:1、在新启动的线程中发送消息。2、在主原创 2014-02-18 09:06:00 · 4144 阅读 · 1 评论 -
是男人就下100层【第一层】——高仿微信界面(3)
上一篇《是男人就下100层【第一层】——高仿微信界面(2)》中实现了注册登录界面,这一篇来看看具体的登录界面实现登录界面布局原创 2014-02-27 00:00:17 · 14275 阅读 · 14 评论 -
Android自定义组件系列【7】——进阶实践(4)
上一篇《》中补充了关于Android中事件分发的过程知识,这一篇我们接着来分析任老师的《可下拉的PinnedHeaderExpandableListView的实现》。一、StickyLayout中的OnGiveUpTouchEventListener接口的作用是什么? public interface OnGiveUpTouchEventListener { public b原创 2014-05-15 15:38:59 · 3247 阅读 · 1 评论 -
Android 自定义progressDialog实现
我们在项目中经常会遇到这样一个应用场景:执行某个耗时操作时,为了安抚用户等待的烦躁心情我们一般会使用进度条之类的空间,在android中让大家最 容易想到的就是progressbar或者progressDialog,区别在于前者是一个控件,后者是对话框。由于一些需求在弹出进度条时不希望用户 能够操作其他控件,所以只能使用progressDialog,这个时候有遇到了一个问题,我不想要progres原创 2013-08-23 08:42:45 · 9103 阅读 · 4 评论 -
Android中的动画详解系列【4】——Activity之间切换动画
前面介绍了Android中的逐帧动画和补间动画,并实现了简单的自定义动画,这一篇我们来看看如何将Android中的动画运用到实际开发中的一个场景——Activity之间跳转动画。一、定义动画资源如果对Android中的动画不了解,请先阅读《Android中的动画详解系列【1】——逐帧动画》《Android中的动画详解系列【2】——飞舞的蝴蝶》《Android中的动画详解系列【3】——自定义动画研究原创 2014-05-19 16:33:18 · 3837 阅读 · 0 评论 -
Android给图片加文字和图片水印
我们在做项目的时候有时候需要给图片添加水印,水寒今天就遇到了这样的问题,所以搞了一个工具类,贴出来大家直接调用就行。/** * 图片工具类 * @author 水寒 * 欢迎访问水寒的个人博客:http://www.sunhome.org.cn * */public class ImageUtil { /** * 设置水印图片在左上角 * @param Cont原创 2016-04-13 23:53:53 · 37393 阅读 · 15 评论 -
volley框架下发送和读取cookie
首先volley本身不支持cookie,但是volley又非常好用(比如封装了网络请求的实现,内部支持并发, 不用我们再额外设计网络管理异步处理,网络请求不应在UI线程等等),那既想使用volley又想在对服务器发起http请求时加上cookie,并从服 务器给的响应中读取cookie。怎么办呢?庆幸的是volley是开源的,我们可以重写一些方法来实现我们的目标。 我们平时开发android应用都转载 2016-04-10 00:39:24 · 2468 阅读 · 0 评论 -
Android里的网格空隙
在很多移动端或者web端开发中我们会遇到很多网格布局,如果我们使用线性布局来实现一些简单的网格布局就需要使用padding/margin等属性来使其对齐,代码如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" an翻译 2016-04-10 00:29:09 · 2825 阅读 · 0 评论 -
像音乐播放App一样移动背景
如果你经常听歌,你会发现歌曲app的背景会随着音乐移动的,从左到右或者从上到下,这种动画虽然简单,但是这里有一个技巧。如果你还不明白这种动效看看下面的demo (更多详细请参考:https://github.com/flavienlaurent/PanningView) 一,使用setImageMatrix播放图片动画 下面是官方文档给出的解释 你可以看到这里的解释很简单,就是代替I原创 2016-04-10 00:20:08 · 2561 阅读 · 0 评论 -
Android自定义组件系列【13】——Android自定义对话框如此简单
在我们的日常项目中很多地方会用到对话框,但是Android系统为我们提供的对话框样子和我们精心设计的界面很不协调,在这种情况下我们想很自由的定义对话框,或者有的时候我们的对话框是一个图片,没有标题和按钮,例如这样的一系列需求,这一篇文章我们来给大家介绍一下如何像使用Activity一样来自定义我们的对话框。一般自定义对话框有三种办法:1、重写Dialog来实现。2、获取Dialog的Window对原创 2014-12-30 17:56:27 · 3727 阅读 · 5 评论 -
Android自定义组件系列【15】——四个方向滑动的菜单实现
今天无意中实现了一个四个方向滑动的菜单,感觉挺好玩,滑动起来很顺手,目前还没有见过这样的应用,以后能不能在应用中出现或者说有没有实用价值就不好说了,既然已经做出来了就贴出来让大家也玩弄一下,说不定对你有所启发。一、效果演示(说明:目前没有安装Android模拟器,制作的动态图片太卡了,就贴一下静态图片吧,实际效果可以下载源代码查看)(向上滑动)(向下滑动)(向左滑动)(向右滑动)二、实现过程介绍1原创 2015-01-15 00:23:31 · 4208 阅读 · 0 评论 -
Android自定义组件系列【14】——Android5.0按钮波纹效果实现
今天任老师发表了一篇关于Android5.0中按钮按下的波纹效果实现《Android L中水波纹点击效果的实现》,出于好奇我下载了源代码看了一下效果,正好手边有一个Nexus手机,我结合实际效果看了一下,发现有一些地方和实际效果稍有不同,参考任老师的博文实现简单实现了一个重写View组件的代码,将全部代码贴出,如果有什么问题或者更好的方式请指出,在此再次感谢任老师的这篇博文。转载请说明出处:htt原创 2015-01-13 00:03:09 · 8556 阅读 · 14 评论 -
Android自定义组件系列【12】——非UI线程绘图SurfaceView
一、SurfaceView的介绍在前面我们已经会自定义View,使用canvas绘图,但是View的绘图机制存在一些缺陷。1、View缺乏双缓冲机制。2、程序必须重绘整个View上显示的图片,比较耗资源。3、非UI线程无法更新View组件,所以会占用主线程资源,当需要在主线程中处理逻辑的时候会很慢。在Android中为我们提供了一个SurfaceView来替代View实现绘制图形,一般在游戏绘图方原创 2014-12-21 22:17:56 · 4270 阅读 · 0 评论 -
Android系统开发(8)——linx进程基本概念
一、proc文件系统传统意义上的文件系统是用于块设备上信息的存储,/proc这个目录是一个虚拟文件系统,它放置的数据都是在内存当中,所以这个目录本身不占用任何硬盘空间。主要包含如下系统信息:内存管理系统进程特征数据文件系统设备驱动程序系统总线电源管理终端系统控制参数用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取p原创 2014-08-30 10:00:29 · 4594 阅读 · 0 评论 -
Android系统开发(4)——Autotools
Autotools工具的构成1、autoscanautoscan是用来扫描源代码目录生成configure.san文件的,configure.san包含了系统配置的基本选项,里面都是一些宏定义,我们需要将它的名字改为configure.in2、aclocalaclocal是一个perl脚本程序。aclocal根据configure.in文件内容自动生成aclocal.m4文件,生成的aclocal原创 2014-08-24 13:15:51 · 2384 阅读 · 0 评论 -
Android系统开发(3)——Makefile的编写
Makefile是什么?makefile的作用:1、工程文件组织,编译成复杂的程序2、安装及卸载我们的程序Makefile使用示例在/home/username/makefile目录下有如下三个文件:main.c#include #include int main(int argc, char *argv[]){ int x, y; sscanf(argv[1原创 2014-08-24 11:46:55 · 2641 阅读 · 0 评论 -
Android系统开发(2)——GDB调试工具
调试的过程我们在eclipse中来看一下一般调试的过程:1、debug模式编译2、打上断点3、运行调试4、单步调试step into:跳到函数体内部step over:不跳到函数体内step return:运行完当前函数5、继续运行continue6、打印和监控值GDB调试先写一段C++的代码,代码内容如下:使用debug模式编译:进入Debug调试模式:1、打断点,打断点的方式如下(GDB中的命原创 2014-08-21 23:28:16 · 2693 阅读 · 0 评论 -
Android系统开发(1)——GCC编译器的编译和安装过程
GCC编译器介绍GCC编译器(GNG C Compiler)是GNU项目中符合ANSI C标准的编译系统,能够编译C C++ Object C等语言编写的程序,同时GCC也是一个交叉编译器,特别使用于不同平台的嵌入式开发。GNU:GNU是“GNU is Not Unix"的递归缩写,1984年,史托曼开始GNU项目,这个项目的目的是创建一个自由,开放的Unix操作系统(Free UNIX),刚原创 2014-08-21 01:06:53 · 9427 阅读 · 5 评论 -
Android自定义组件系列【11】——实现3D立体旋转效果
今天在网上看到一篇文章写关于Android实现3D旋转(http://www.ibm.com/developerworks/cn/opensource/os-cn-android-anmt2/index.html?ca=drs-),出于好奇就写了一个,运行效果如下:下面我们就开始一步步完成这个效果吧。实现水平滑动package com.example.rotation3dview;import原创 2014-08-07 18:17:46 · 10033 阅读 · 3 评论 -
Android自定义组件系列【8】——遮罩文字动画
遮罩文字的动画我们在Flash中非常常见,作为Android的应用开发者你是否也想将这种动画做到你的应用中去呢?这一篇文章我们来看看如何自定义一个ImageView来实现让一张文字图片实现文字的遮罩闪烁效果,下面先来看看效果吧。(录屏幕延时导致效果看起来不是很好)一、实现原理 实现原理是重写View的onCreate方法,获取图片资源后对每个像素的透明度进行修改来实现,再启动一个线程来循环改变某原创 2014-06-15 20:02:03 · 6002 阅读 · 6 评论 -
Android菜鸟的成长笔记(28)——Google官方对Andoird 2.x提供的ActionBar支持
在Google官方Android设计指南中(链接:http://www.apkbus.com/design/get-started/ui-overview.html)有一个新特性就是自我标识,也就是宣传自己,所以很多应用现在也自然的使用ActionBar并提供自己的logo.微信的应用:Google的Android设计指南中是这样说的:应用的 启动图标 作为启动应用的入口是展示 logo 的最佳场原创 2014-05-21 14:24:29 · 3195 阅读 · 0 评论 -
Android自定义组件系列【5】——进阶实践(1)
接下来几篇文章将对任老师的博文《可下拉的PinnedHeaderExpandableListView的实现》分步骤来详细实现,来学习一下大神的代码并记录一下。原文出处:http://blog.csdn.net/singwhatiwanna/article/details/25546871先看一下最终效果:新建一个activity_main.xml文件<RelativeLayout xmlns:an原创 2014-05-13 16:02:20 · 4978 阅读 · 4 评论 -
是男人就下100层【第一层】——高仿微信界面(4)
上一篇《是男人就下100层【第一层】——高仿微信界面(3)》中我们完成了登录,这一篇看完成登录后的一个短暂加载和引导界面。原创 2014-02-27 23:37:57 · 6813 阅读 · 3 评论 -
Android菜鸟的成长笔记(9)——Intent与Intent Filter(下)
接着上一篇的内容,下面我们再来看看Intent的Data与Type属性。一、Data属性与Type属性Data属性通常用于向Action属性 提供操作的数据,Data属性接受一个Uri对象格式:scheme://host:port/path例如:content://com.android.contacts/contacts/1tel:123其中prot部分被省略了,原创 2014-02-16 13:45:51 · 3421 阅读 · 0 评论