- 博客(19)
- 资源 (4)
- 收藏
- 关注
原创 Android自定义垂直方向的ViewPager
由于项目需要,做了一个垂直滑动的ViewPager作为应用的引导页,下面就和大家分享一下具体实现方法,初步测试可以使用,有问题的话欢迎大家吐槽,先看效果图:废话不多说,下面来看一看代码,由于代码中已经写了很多注释,我就不过多解释了,大概思路就是自定义一个类继承自ViewGroup,然后将视图集合放进去下面是实现类VerticalViewPager.javapackage
2015-04-02 16:36:25
3985
转载 Android事件分发机制详解
Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)、onInterceptTouchEvent(MotionEvent ev)、onTouchEvent(MotionEvent ev);能够响应这些方法的控件包括:ViewGroup、View、Activity。方法与控件的对应关系如下表所示:Tou
2015-04-02 14:39:41
722
转载 继承ViewGroup重写onMeasure方法的详解
我们继承重写ViewGroup的目的是要做自定义控件,所以我们有必要先看一下安卓View的绘制过程: 首先当Activity获得焦点时,它将被要求绘制自己的布局,Android framework将会处理绘制过程,Activity只需提供它的布局的根节点。 绘制过程从布局的根节点开始,从根节点开始测量和绘制整个layout tree,绘画通过遍历整个树来完成,不可见
2015-04-02 11:11:02
759
转载 Android中Scroller类的详细分析
尊重原创作者,转载请注明出处:http://blog.youkuaiyun.com/gemmem/article/details/7321910 Scroller这个类理解起来有一定的困难,刚开始接触Scroller类的程序员可能无法理解Scroller和View系统是怎么样联系起来的。我经过自己的学习和实践,对Scroller的用法和工作原理有了一定的理解,在这里和大家分享一下,希望大家多多指
2015-04-01 15:33:46
692
1
转载 Android的onMeasure和onLayout及MeasureSpec解析
Android中自定义ViewGroup最重要的就是onMeasure和onLayout方法,都需要重写这两个方法,ViewGroup绘制 的过程是这样的:onMeasure → onLayout → DispatchDrawcopy 其实我觉得官方文档解释有大大的问题,刚开始一直很疑惑onMeasure和onLayout是什么意思,看了很多资料后豁然开朗,
2015-04-01 13:57:40
984
原创 Android自定义圆形ProgressBar
闲来无事做了一个自定义的进度条,大致效果图如下:废话不多说,下面直接上代码:自定义控件代码CircleProgressBar.javapackage com.example.circleprogressbar;import android.annotation.SuppressLint;import android.content.Context;imp
2015-03-31 11:53:16
792
原创 Java中Math类的几个四舍五入方法的区别
下面来介绍将小数值舍入为整数的几个方法:Math.ceil()、Math.floor()和Math.round()。 这三个方法分别遵循下列舍入规则:Math.ceil()执行向上舍入,即它总是将数值向上舍入为最接近的整数;Math.floor()执行向下舍入,即它总是将数值向下舍入为最接近的整数;Math.round()执行标准舍入,即它总是将数值四舍五入为最接近的整数(这也是我
2015-03-31 11:22:22
24980
1
原创 关于Android中FontMetrics的几个属性讲解
今天和大家聊一聊Android中关于FontMetrics的几个属性的理解,在Android中用画笔绘制文字时,文字最终的大小是和绘制文字的字体的类型和字体的大小是相关的。设置字体类型 Paint.setTypeface(Typeface typeface)设置字体大小 Paint.setTextSize(float textSize)Paint.FontMetrics
2015-03-31 10:35:41
1001
转载 开源动画库nineoldandroids的使用
文章转自:http://blog.youkuaiyun.com/singwhatiwanna/article/details/17639987前言Android系统支持原生动画,这为应用开发者开发绚丽的界面提供了极大的方便,有时候动画是很必要的,当你想做一个滑动的特效的时候,如果苦思冥想都搞不定,那么你可以考虑下动画,说不定动画轻易就搞定了。下面再简单回顾下Android中的动画,本文后面会介绍一
2015-03-26 11:37:50
670
原创 Android中clipChildren属性的用法
在说clipChildren属性之前首先看一个效果图:为了做出这种效果图你能想到的方式是什么呢?用RelativeLayout?还是.......其实很简单,只要用了这个神奇的属性后这个效果很容易就可以实现,
2015-03-26 10:27:54
30701
2
原创 ListView中显示不同的视图布局实现重用
新年的第一篇博客,我就和大家谈一谈在Android开发中当ListView中的每一个Item需要显示不同布局时如何去实现,并且实现重用,废话不多说,先看看具体代码:1、首先写3个不同的布局作为ListView中的Item:(1)list_item1.xml<LinearLayout xmlns:android="http://schemas.android.com/apk
2015-03-06 16:38:40
896
原创 Android中实现ViewPager左右滑动加载
有没有这么一种情况,想让ViewPager滑动到最左边的时候再次向左滑动时将数据加载在左边,就好像左边有源源不断的数据一样,滑动到最右边再向右滑动时,右边又可以加载出数据,下面我就来慢慢介绍它的做法,Demo有问题的地方还请大家批评指正。首先写一个ViewPager每一个Item的布局文件:viewpager_item.xml<LinearLayout xmlns:android="h
2014-12-16 14:19:04
2328
转载 Android使用 LruCache 缓存图片
使用图片缓存技术在你应用程序的UI界面加载一张图片是一件很简单的事情,但是当你需要在界面上加载一大堆图片的时候,情况就变得复杂起来。在很多情况下,(比如使用ListView, GridView 或者 ViewPager 这样的组件),屏幕上显示的图片可以通过滑动屏幕等事件不断地增加,最终导致OOM。为了保证内存的使用始终维持在一个合理的范围,通常会把被移除屏幕的图片进行回收处理。此
2014-12-03 14:33:17
449
原创 Android中ContentResolver的query方法中参数的详细解析
例:获取联系人姓名一个简单的例子,这个函数获取设备上所有的联系人ID和联系人NAME。public void fetchAllContacts() { ContentResolver contentResolver = this.getContentResolver(); Cursor cursor = contentResolver.query(a
2014-12-03 10:59:34
2958
转载 Android中VelocityTracker的简介
android.view.VelocityTracker主要用跟踪触摸屏事件(flinging事件和其他gestures手势事件)的速率。用addMovement(MotionEvent)函数将Motion event加入到VelocityTracker类实例中.你可以使用getXVelocity() 或getXVelocity()获得横向和竖向的速率到速率时,但是使用它们之前请先调用comp
2014-11-11 15:34:45
496
转载 Activity切换效果overridePendingTransition的使用
在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介绍一下如何实现左右滑动的切换效果,首先了解一下Activity切换的实现,从Android2.0开始在Activity增加了一个方法:public void overridePendingTransition (int enterAnim, int exitAnim)其中:enterA
2014-11-11 15:04:53
780
转载 Android的屏幕适配方法
android中图片适配是一件很棘手的事情,本篇文章详细的介绍屏幕显示的原理,为什么会资源文件中会存在drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi等文件夹,为什么要使用dp作为单位等等。首先从这两张图片的显示效果开始说起这是一张200x200的图片在不同的手机上的显示效果。很
2014-11-06 10:59:26
582
原创 Android中px、dp、dip、sp的区别和认识
px: pixels(像素),不同的设备不同的显示屏显示效果是相同的,是绝对像素,是多少就永远是多少不会改变。 显然为了适配不同手机屏幕的显示,使用px来指定控件的大小是不行。 dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这 这个不依赖像素。 这里
2014-11-06 10:47:28
440
转载 Android中的Paint类属性介绍
/** * Paint类介绍 * * Paint即画笔,在绘图过程中起到了极其重要的作用,画笔主要保存了颜色, * 样式等绘制信息,指定了如何绘制文本和图形,画笔对象有很多设置方法, * 大体上可以分为两类,一类与图形绘制相关,一类与文本绘制相关。 *
2014-11-04 10:02:17
495
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人