- 博客(90)
- 资源 (1)
- 收藏
- 关注
原创 LRUCache原理及HashMap LinkedHashMap内部实现原理
LRUCache HashMap LinkedHashMap内部实现原理
2015-11-27 17:11:18
3495
原创 Leetcode Longest Palindromic Substring(最长回文字串)
Longest Palindromic Substring
2015-10-29 16:58:58
707
原创 Android 适配toolbar后windowSoftInputMode="adjustResize" 不生效
Android 适配toolbar后windowSoftInputMode="adjustResize" 不生效
2015-05-04 21:30:30
4435
3
原创 Android 弹簧动画效果
一、概述Rebound 通过胡克定律,实现的一个类似“弹簧”动画效果的第三方工具包,由FaceBook退出,于2013年10月正式发布,旨在解决笨重、缓慢的传统移动网络界面。先上几张效果图: 特点:Rebound 可以使你的动画看起来像真实自然,像真实世界物理运动Rebound 不是一个物理引擎库,但是R
2015-04-26 22:43:33
6498
原创 Android自定义属性详解
1、引言对于自定义属性,大家肯定都不陌生,遵循以下几步,就可以实现:自定义一个CustomView(extends View )类编写values/attrs.xml,在其中编写styleable和item等标签元素在布局文件中CustomView使用自定义的属性(注意namespace)在CustomView的构造方法中通过TypedArray获取ps:如果你对上述几个步
2015-04-19 22:43:00
639
原创 Android RecyclerView 的点击事件
一、概述随着Android L版本的发布,RecyclerView已经逐渐地取代了ListView,用来显示较多的数据集,RecyclerView相比ListView在性能上有了大幅度的提升,可以说RecyclerView是ListView的升级版本。
2015-04-10 22:52:54
7468
原创 Android 横向带有吸附效果的横向拖动控件(效果同纵向下拉刷新ListView)
先上一张效果图中间的progressBar就是我们要做的效果。一、实现思路仔细观察不难发现,该拖动view与listview的下拉刷新的效果很类似,手指拖动的时候显示隐藏的view,手指放开自动回弹。只不过区别就是一个横向一个纵向下拉刷新的实现思路如下:自定义一个布局继承自LinearLayout,然后在这个布局中加入下拉头和ListView这两个子元素,并让这
2015-03-29 21:35:06
3649
原创 Android View getX getLeft getTranslationX layoutparams.leftMargin的值
Android View getX getLeft getTranslationX layoutparams.leftMargin的值
2015-01-09 00:04:54
3110
原创 Andorid Volley框架加载图片OOM问题分析
Android volley 引起的context 上下文 内存泄露,导致的OOM问题分析解决
2015-01-06 14:53:57
3577
原创 Android bitmap Config
在开发中遇到了一个问题,bitmap的底色为黑色,百思不得其解,后来想到是不是因为生成bitmap时有个Config参数导致的。代码中写的是Bitmap.Config.RGB_565。后来改成Bitmap.Config.RGB_8888 后背景色变为透明确实是因为Config造成的,之前一直都知道这个参数会导致bitmap的精细程度,也就是说数值越大加载到内存中德bitmap就越大同时
2015-01-03 17:50:00
1263
原创 Mac Android Genymotion unable create virtual device
Mac 安装Genymotion 需要安装VirtualBox ,全部安装完后创建genymotion device点击ADD后不能显示device列表,测试可能是由于VirtualBox的网络设置原因导致genymotion不能连接网络。VirtualBox网络配置如下打开VirtualBox 偏好设置--> 网络--> Host Only --> 新建一个网络配置:
2015-01-02 14:11:52
5094
转载 Android简便通用的SimpleBaseAdapter
在Android开发中经常用到ListView、GridView等列表,于是Adapter也就比较常用的了, 而实际项目中稍微复杂点的基本都会用到BaseAdapter, 大家都知道继承自BaseAdapter必须要重写getCount(), getItem(), getItemId(), getView()这几个方法, 而且可能为了优化列表的加载还还会经常采用ViewHoder模式, 试想列表多
2014-12-25 14:49:18
721
转载 Android高效加载图片,有效避免程序OOM
我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状、不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小。比如说系统图片库里展示的图片大都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨率高得多。大家应该知道,我们编写的应用程序都是有一定内存限制的,程序占用了过高的内存就容易出现OOM(OutOfMemory)异常。我们可以通过下面的代码看
2014-12-25 14:18:54
662
原创 Android Cursor 源码分析
1. 本文目的Android ContentProvider提供了进程间数据交换的一种机制。而数据库的查询就是这种机制的应用。那么app通过Uri查询数据库而得到的Cursor究竟是个什么东西?为何可以为我们提供另一个进程的数据?本文以getContentResolver().query(……)函数为起点,全面分析Cursor家族关系类图,理清Cursor跨进程通信的机制。1.
2014-10-24 18:44:52
1935
转载 Android动画学习笔记-Android Animation
3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三种动画模式在SDK中被称为property animation,view animation,drawable animation。 可通过NineOldAndroids项目在3.0之前的系统中使用P
2014-09-03 16:49:09
565
原创 Mac OS 10.9安装JDK1.7 无法启动IDEA 和Eclipse,提示安装JRE6
IntelliJ IDEA 13 EAP 132.325 and Retina support in JDK 7 6318Good news, everyone!With the latest IntelliJ IDEA 13 EAP build the IDE is almost compatible with Java 7 on Retina d
2014-08-26 19:52:51
2819
转载 浅析Android中如何利用attrs和styles定义控件
一直有个问题就是,Android中是如何通过布局文件,就能实现控件效果的不同呢?比如在布局文件中,我设置了一个TextView,给它设置了textColor,它就能够改变这个TextView的文本的颜色。这是如何做到的呢?我们分3个部分来看这个问题1.attrs.xml 2.styles.xml 3.看组件的源码。1.attrs.xml: 我们知道Android的源码中有att
2014-08-18 16:34:17
794
转载 Android ProgressBar 样式实现原理
做过Android开发的同学应该都不会对这个控件陌生。主要是用来实现处理或加载进度的显示或者提示用户正在处理或加载数据。基本来说就两种情况,一种是转圈的小菊花,一种是水平的进度条。默认情况下ProgressBar是圆形的那种,如果你要设置成水平状的,需要加入styleJava代码 style="?android:attr/progressBarStyl
2014-08-18 16:26:13
2311
原创 Android Filter类--线程间的通信
Filter与AsyncQueryHander实现基本类似,它包含两个Hander:RequestHandler和 ResultHandler,以及一个HandlerThread:名为Filter的线程。RequestHandler与Filter线程绑定,过滤请求都是通过 RequestHandler发送给Filter线程。当过滤产生后,通过mResultHandler将数据push给UI显示。
2014-08-15 10:58:17
1147
原创 Android搜索过滤
一、简介一般来说,我们可以使用以下几种方式实现搜索:1)暴力搜索——直接使用数据库提供的功能,每次都从数据库中读取搜索的结果,存进一个数据结构用于Adapter显示,调用notifyDataSetChanged()刷新数据;2)利用filter进行搜索。这块涉及到Filterable接口。推荐文章:Android实现Filterable通过输入文本框实现联系人自动筛选。有两
2014-08-15 10:03:36
1199
原创 ViewPager异步添加数据异常 The application's PagerAdapter changed the adapter's contents without calling Pag
项目中用到ViewPager左右滑动图片,图片从网上获取,异步添加到ViewPager的Adapter中。出现强股
2014-06-26 14:55:24
26849
4
原创 intellij idea 添加动态 user library(java.lang.VerifyError)
ScopeUse this drop-down to affect the classpath for the various build phases.Compile: This is the default option. If it is selected, the dependency is resolved and is available in classpath duri
2014-06-10 11:28:27
8026
原创 Activities and Tasks --Dev Guide
就像前面提到的,一个activity可以启动另一个,包括那些定义在不同应用程序中的。假设,例如,你想让用户显示一些地方的街道地图。已经有一个activity可以做这个事,所以你的activity所要做的就是将行为对象和需要的信息放在一起,并将它们传递给startActivity()。 地图查看器将显示这个地图。当用户按下后退按钮时,你的activity又重新显示在屏幕上了。 对用户来
2014-06-05 10:24:23
1009
原创 android 之 android.widget.RelativeLayout.LayoutParams
android.widget.RelativeLayout.LayoutParams 有一个构造函数:RelativeLayout.LayoutParams(int w, int h),参数指定了子 View 的宽度和高度,这一点和其父类是一样的。而实现相对布局的关键在它的 两个 addRule方法上。anchor 参数指定可以是 View 的 id(“相对于谁”)、Relativ
2014-06-03 17:04:17
1017
转载 为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?
在一个 Android 应用中,我使用 FragmentPagerAdapter 来处理多 Fragment 页面的横向滑动。不过我碰到了一个问题,即当 Fragment 对应的数据集发生改变时,我希望能够通过调用 mAdapter.notifyDataSetChanged() 来触发 Fragment 页面使用新的数据调整或重新生成其内容,可是当我调用 notifyDataSetChange
2014-05-28 14:19:46
658
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人