1.Resources类中的getIdentifier(name, defType, defPackage)方法,根据资源名称获取其ID,做UI时经常用到;
2.View中的isShown()方法,以前都是用view.getVisibility() == View.VISIBLE来判断的(╯□╰)
3.Arrays类中的asList(T... array)方法,数组转List集合;反过来List.toArray();
4.android.text.format.Formatter类中formatFileSize(Context, long)方法,用来格式化文件Size(B → KB → MB → GB);
5.android.media.ThumbnailUtils类,用来获取媒体(图片、视频)缩略图;
6.String类中的format(String, Object...)方法,用来格式化strings.xml中的字符串(多谢 @droider An 提示:Context类中getString(int, Object... )方法用起来更加方便);
7.View类中的三个方法:callOnClick(),performClick(),performLongClick(),用于触发View的点击事件;
8.TextView类中的append(String)方法,添加文本;
9.View类中的getDrawingCache()等一系列方法,目前只知道可以用来截图;
10.DecimalFormat类,用于字串格式化包括指定位数、百分数、科学计数法等;
11.System类中的arraycopy(src, srcPos, dest, destPos, length)方法,用来copy数组;
12.Fragment类中的onHiddenChanged(boolean)方法,使用FragmentTransaction中的hide(),show()时貌似Fragment的其它生命周期方法都不会被调用,太坑爹!
13.Activity类中的onWindowFocusChanged(boolean)方法;
14.View类中的getLocationInWindow(int[])方法和getLocationOnScreen(int[])方法,获取View在窗口/屏幕中的位置
15.TextView类中的setTransformationMethod(TransformationMethod)方法,可用来实现“显示密码”功能;
16.ListView或GridView类中的setFastScrollEnabled(boolean)方法,用来设置快速滚动滑块是否可见,当然前提是item够多;
17.PageTransformer接口,用来自定义ViewPager页面切换动画,用setPageTransformer(boolean, PageTransformer)方法来进行设置;
18.apache提供的一系列jar包:commons-lang.jar,commons-collections.jar,commons-beanutils.jar等,
里面很多方法可能是你曾经用几十几百行代码实现过的,但是执行效率或许要差很多,比如:ArrayUtils,StringUtils……;
19.Activity类中的onNewIntent(intent)方法;
20.
TextView类的setKeyListener(KeyListener)方法;
其中DigitsKeyListener类,使用getInstance(String accepted)方法即可指定EditText可输入字符集;
21.ActivityLifecycleCallbacks接口,用于在Application类中监听各Activity的状态变化。
22.TextView.setError() 在验证用户输入的时候很棒。
23.ViewConfiguration.getScaledTouchSlop() 使用 ViewConfiguration 中提供的值以保证所有触摸的交互都是统一的。这个方法获取的值表示:用户的手滑动这个距离后,才判定为正在进行滑动.当然这个值也可以自己来决定.但是为了一致性,还是使用标准的值较好。
24.PhoneNumberUtils.convertKeypadLettersToDigits 顾名思义.将字母转换为数字,类似于T9输入法,
25.Space space是Android 4.0中新增的一个控件,它实际上可以用来分隔不同的控件,其中形成一个空白的区域.这是一个轻量级的视图组件,它可以跳过Draw,对于需要占位符的任何场景来说都是很棒的。
26.ValueAnimator.reverse() 这个方法可以很顺利地取消正在运行的动画。
27.DateUtils.formatDateTime() 用来进行区域格式化工作,输出格式化和本地化的时间或者日期。
28.Linkify.addLinks() 在Text上添加链接。很实用。
29.GestureDetector 用来监听和相应对应的手势事件,比如点击,长按,慢滑动,快滑动,用起来很简单,比你自己实现要方便许多。
30.DrawFilter 可以让你在不调用onDrew方法的情况下,操作canvas,比了个如,你可以在创建自定义 View 的时候设置一个 DrawFilter,给父 View 里面的所有 View 设置反别名。
31.ActivityManager.getMemoryClass() 告诉你你的机器还有多少内存,在计算缓存大小的时候会比较有用。
32.SystemClock.sleep() 这个方法在保证一定时间的 sleep 时很方便,通常我用来进行 debug 和模拟网络延时。
33.Pair.create() 方便构建类和构造器的方法。
34.DialogFragment.setShowsDialog ()—— 这是一个很巧妙的方式,DialogFragment 可以作为正常的 Fragment 显示!这里可以让 Fragment 承担双重任务。我通常在创建 Fragment 的时候把 onCreateView ()和 onCreateDialog ()都加上,就可以创建一个具有双重目的的 Fragment。
35.LocalBroadcastManager——这个会比全局的 broadcast 更加安全,简单,快速。像 otto 这样的 Event buses 机制对你的应用场景更加有用。
36.Application.registerActivityLifecycleCallbacks——虽然缺少官方文档解释,不过我想它就是注册 Activity 的生命周期的一些回调方法(顾名思义),就是一个方便的工具。
37.Activity.recreate ()——强制让 Activity 重建。
38.android:duplicateParentState (View)——此方法可以使得子 View 可以复制父 View 的状态。比如如果一个 ViewGroup 是可点击的,那么可以用这个方法在它被点击的时候让它的子 View 都改变状态。
39.android:clipChildren (ViewGroup)——如果此属性设置为不可用,那么 ViewGroup 的子 View 在绘制的时候会超出它的范围,在做动画的时候需要用到。
40.android:fillViewport (ScrollView)——在这片文章中有详细介绍文章链接,可以解决在 ScrollView 中当内容不足的时候填不满屏幕的问题。
41.SparseArray——Map的高效优化版本。推荐了解姐妹类SparseBooleanArray、SparseIntArray和SparseLongArray。
42.ActivityManager.clearApplicationUserData()—— 一键清理你的app产生的用户数据,可能是做用户退出登录功能,有史以来最简单的方式了。
43.ActivityOptions ——方便的定义两个Activity切换的动画。 使用ActivityOptionsCompat 可以很好解决旧版本的兼容问题。
44.ViewParent.requestDisallowInterceptTouchEvent() ——Android系统触摸事件机制大多时候能够默认处理,不过有时候你需要使用这个方法来剥夺父级控件的控制权。
原文:http://my.oschina.net/wangjunhe/blog/518830