技术联盟

Android Studio 修改module名

Android Studio 新建工程自动生成的 module 名为 app,尝试用 refactor->rename 进行改变,发现会报错:failed to complete gradle execution already disposed:Module:app,百度居然又没有答案,google一下就有了,三个步骤: 1.refactor -> rename,先按常规修改这个; […]

使用Android Studio阅读整个Android源码

之前一直在windows下用source insight阅读android源码,效果非常好。 后来远程异地服务器,网络限制,一直用ssh + vim,现在主要还是以这种方式。 最近发现一个不错的东西(早就有了),在android源码中有这么一个目录development/tools/idegen。 顾名思义,是生成ide的project文件,主要是生成intellij的project文件,当然也可 […]

android staticlayout使用讲解

使用Canvas的drawText绘制文本是不会自动换行的,即使一个很长很长的字符串,drawText也只显示一行,超出部分被隐藏在屏幕之外。可以逐个计算每个字符的宽度,通过一定的算法将字符串分割成多个部分,然后分别调用drawText一部分一部分的显示, 但是这种显示效率会很低。 StaticLayout是android中处理文字换行的一个工具类,StaticLayout已经实现了文本绘制换行处 […]

android之interpolator的用法详解

android:interpolator   Interpolator 被用来修饰动画效果,定义动画的变化率,可以使存在的动画效果accelerated(加速),decelerated(减速),repeated(重复),bounced(弹跳)等。 android中的文档内容如下: AccelerateDecelerateInterpolator 在动画开始与结束的地方速率改变比较慢,在中 […]

用户手势检测-GestureDetector使用详解

一、概述 当用户触摸屏幕的时候,会产生许多手势,例如down,up,scroll,filing等等。 一般情况下,我们知道View类有个View.OnTouchListener内部接口,通过重写他的onTouch(View v, MotionEvent event)方法,我们可以处理一些touch事件,但是这个方法太过简单,如果需要处理一些复杂的手势,用这个接口就会很麻烦(因为我们要自己根据用户触 […]

Android Scroller简单用法

Android里Scroller类是为了实现View平滑滚动的一个Helper类。通常在自定义的View时使用,在View中定义一个私有成员mScroller = new Scroller(context)。设置mScroller滚动的位置时,并不会导致View的滚动,通常是用mScroller记录/计算View滚动的位置,再重写View的computeScroll(),完成实际的滚动。 相关AP […]

Android 4.4从图库选择图片,获取图片路径并裁剪

     最近在做一个从图库选择图片或拍照,然后裁剪的功能.本来是没问题的,一直在用 [java] view plaincopy Intent intent=new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 的方式来做,是调用系统图库来做,但是发现如果有图片是 […]

Android获取短信验证码倒计时

目前越来越多的app在注册或是进行对应操作时,要求获取短信验证码,在点击了获取短信验证码的按钮后,就是出现倒计时,比如倒计时120S,在倒计时 期间内,按钮点击是无效的,当倒计时结束后,如果你没有获取到验证码,可以再次点击。实现倒计时的方法很多,我们今天就通过继承 android. os.CountDownTimer类来实现! 首先看下我们封装的倒计时工具类,主要为了在多个地方用到的话,用了多个构 […]

Android LayoutInflate深度解析 给你带来全新的认识

1、 题外话 相信大家对LayoutInflate都不陌生,特别在ListView的Adapter的getView方法中基本都会出现,使用inflate方法去加载一个布局,用于ListView的每个Item的布局。Inflate有三个参数,我在初学Android的时候这么理解的: 对于Inflate的三个参数(int resource, ViewGroup root, boolean attach […]

Adapter的getViewTypeCount和getItemViewType 使用

通过本篇文章,让你掌握新的技巧,请不用只看看一点,希望能够看完,让你很快明白不同的使用场景 ListView 和 Adapter 的基础 工作原理: ListView 针对List中每个item,要求 adapter “给我一个视图” (getView)。 一个新的视图被返回并显示 如果我们有上亿个项目要显示怎么办?为每个项目创建一个新视图?NO!这不可能! 实际上Android为你缓存了视图。 […]