- 博客(83)
- 资源 (11)
- 收藏
- 关注
原创 ArrayList中的构造函数问题
今天无聊想来看看ArrayList的实现源码,发现创建ArrayList对象时,先定义的ArrayList对象必须指定类型,即这样: //对的 ArrayList list = new ArrayList(); //错误的 ArrayList() list2 = new ArrayList(); ArrayList(20) list3 = new ArrayLis
2017-02-10 15:15:35
5652
原创 使用selector,shape以及lay-list制作圆形阴影点击效果
之前反编译了百度阅读的xml文件,在res文件夹中找不到其中按钮的背景图片,后来发现他们的一些按钮背景是通过layer-list制作出来的下面我们就来介绍一下这种制作方法1、我们都知道要制作点击效果的按钮,那么就得使用selector,他能够在各种按钮状态下去定义背景图片。现在我们只需要点击效果,那么就在state_pressed状态下设置背景就行了<selector xml
2015-01-13 10:52:23
3262
原创 LayoutTransition 容器布局动画
在Property Animation中还有一个知识点没有讲到,那就是LayoutTransition容易布局动画,什么是容器布局动画?容器布局动画就是当一个布局容器中的view方式改变时所产生的动画,比如:但一个相对布局中新增加一个view时或者删除一个view时,那么就可以通过一个动画来进行表现,如:这个view是以什么形式增加进来或者删除出去。android中提供了四种容器动画:
2014-12-28 00:10:33
1761
原创 Android 动画系列三:Propety Animation
Property Animation是android 3.0推出的另一种动画方式,能够构建线性和非线性动画,他的api被放在android.animation这个包下在之前介绍view animation时说要比较Property Animation 和View Animation的区别,那么他们到底有哪些区别呢?1、view animation只能够对view对象添加动画,如果要对非vi
2014-12-27 23:39:21
1410
原创 android merge与include标签混合使用
前面一篇博客讲了merge标签的使用场景以及用法,这篇就讲一下include的使用,但是include标签说起来比较简单,所以就结合起merge标签一起来讲。merge标签之前说过了,所以就不说了。include标签的作用在于使得布局文件变得可复用,比如你在不同的布局文件中要加入相同的按钮或者title时,那么这时候就可以在另外一个布局文件中设置好这个按钮或者title,然后使用inc
2014-12-24 17:14:45
1558
原创 android merge标签
我们在写android xml布局文件时,有时候会产生多余的view树节点,当android进行解析时,多余的view节点会导致解析时间加长,进而导致页面跳转变慢,变的卡顿。怎样避免这种情况呢?我们可以通过hierarchyviewer去查看布局文件的view 节点树,根据这个节点树利用merge标签优化掉多余的节点。下面我们就使用一个例子来掩饰怎样使用merge标签来优化布局文件。首
2014-12-24 11:18:38
1228
原创 android 自定义属性
本来觉得自定属性很简答的,但是今天在玩一个自定义控件时怎么弄都无法在xml文件中获取自定义的属性,原因就是在:命名空间导入错误。我之前以为命名空间的组成为:包名+自定义控件名,后来找了几个博客也是这样定义的,所以就错上加错了。所以今天就介绍一下自定义属性的使用。一、在res 目录下values文件夹下创建attrs.xml文件,然后定义一个declare-styleable节点,然后定
2014-12-24 01:06:02
916
原创 Android动画系列二:View Animation
View Animation是android 刚开始推出的两种动画中的一种,又叫做tween animation(补间动画),我们在Eclipse中点击New Android XML File按钮时,选择Resource Type会看见下拉框中有一个Tween Aniation的类型,这个就是View Animation如果我们想使用xml来定义View Animation,在Root E
2014-12-20 12:26:22
879
原创 快速排序
之前在走路时在脑海中默写冒泡排序,后来又想到了快速排序,快速排序也只是有一个概念,选取一个基准值,将序列种比这个基准值小的数放在其左边,比基准值大的数放在其右边。但是想来想去某些细节的地方就是无法实现,今天就介绍一些快速排序算法。快速排序的思路为:1.选取序列中的一个数作为基准值pivot,可以指定也可以随机选择2.将待排序列中小于这个基准值的放到基准值左边大于基准值的放到其右
2014-12-19 00:26:30
606
原创 选择排序以及冒泡排序
今天走路时,无聊便在脑海中想默写一下冒泡排序,因为很久没有写了,只记得冒泡排序是每一次遍历序列时,都会将最大的数升到序列的尾部或者将最小的数降到序列的首部,写默写的过程中,相邻两数比较后,最大的数会升到尾部,但是想来想去都往递归的方向去想了,后来回来一google,发现我的概念被弄混淆了,我将最原始的冒泡排序误以为是选择排序了,这种其实早就想到了,下面我就来普及一下选择排序和冒泡排序的
2014-12-18 21:58:48
1133
原创 Android 动画系列一:Drawable Animation
在Android3.0之前,也就是Property Animation还没有出来以前,android中只提供了两种动画定义方式也就是,Drawable Animation和View Animation,这两种动画又被称作帧动画和补间动画(frame animation和tween animation),在3.0之后,android新推出了另外一中动画定义方式:Property Animat
2014-12-18 00:08:31
1071
原创 ksoap2引起android系统Out of memory
这两天一直被一个bug困扰,首先介绍一下这个bug:使用ksoap2通过webservice获取数据,在解析数据的时候会导致android系统不断增大内存栈的大小,直到Out of Memory。bug环境:由于项目需要通过webservice 来获取数据,虽然可以自己写一个xml解析器,但是有第三方的解析jar包干嘛不用呢,而且发现ksoap2是一个专门针对android定制的xml
2014-12-10 00:17:08
1230
原创 Java类的区分
上篇博客中,android的源码调用了isMemberClass()方法,不知道这个方法有什么作用,查了一下api,竟然还能判断类的类型不错挺好玩的,于是google了一下,借了别人博客的一个小例子来区分什么是:局部类,成员类,匿名类。public class ClassTest{ public static void main(String[] args) { C
2014-11-26 01:20:23
1067
原创 Java 线程与并发研究系列二(实现Callable接口)
通过实现Callable和Runnable接口都能够创建线程的执行体,但是Runnable接口并不返回任何值,如果你希望任务在完成的时候能够返回一个值那么就可以通过实现Callable接口来实现。在JavaAPI中是这样描述Callable接口的:Callable和Runnable相似,他们的类实例都能够被其他Thread执行,但是Callable接口能够返回一个值或者抛出一个异常,Run
2014-07-17 22:17:08
1094
原创 Bitmap对象的几种获取方法
Bitmap对象的获取有很多种方法,但是不同的文件使用的方法也不同,如:资源文件是在本地资源文件还是sd中的文件,抑或是ImageView中的资源文件,
2014-06-18 15:41:53
5388
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人