Android开发中相见恨晚的方法、类或接口

来源:互联网 发布:风筝pc蛋蛋软件 编辑:程序博客网 时间:2024/05/26 02:22

摘抄、整理加个人总结,感谢所有参与者!

1.      Resources类中的getIndentifier(name,defType,defPackage)方法,根据资源名次获取其ID;

2.      Array类中的asList(T…array)方法,数组转List集合;

3.      View类的callOnClick(),performClick()和performLongClick();

4.      TextView类中的append方法,追加文本;

5.      DecimalFormat类,用于字串格式化,包括指定位数,百分数和科学技术等

6.      System类中的arraycopy(src,srcPos,dest,destPos,length)方法,用于copy数组;

7.      ListView或GrideView中的setFastScrollEnabled(Boolean)方法,用来设置快速滚动滑块是否可见,前提是item够多;

8.      getParent().requestDisallowInterceptTouchEvent(true);剥夺父view对touch事件的处理权,谁用谁知道。

9.      ArgbEvaluator.evaluate(floatfraction, Object startValue, Object endValue);用于根据一个起始颜色值和一个结束颜色值以及一个偏移量生成一个新的颜色,分分钟实现类似于微信底部栏滑动颜色渐变。

10.  Palette,5.0加入的可以提取一个Bitmap中突出颜色的类,获取主题颜色。

11.  ViewDragHelper,自定义ViewGroup处理各种事件很累吧,嗯?what the fuck!!

12.  FragmentManager.enableDebugLogging(),在需要观察 Fragment 状态的时候会有帮助。

13.  –nodpi,在没有特别定义的情况下,很多修饰符(-mdpi,-hdpi,-xdpi等等)都会默认自动缩放 assets/dimensions,有时候我们需要保持显示一致,这种情况下就可以使用 -nodpi。

14.  Activity.recreate (),强制让 Activity 重建。

15.  ViewTreeObserver——这是一个很棒的工具。可以进入到 VIew 里面,并监控 View 结构的各种状态,通常我都用来做 View 的测量操作(自定义视图中经常用到)。

16.  android:duplicateParentState(View)——此方法可以使得子 View 可以复制父 View 的状态。比如如果一个 ViewGroup 是可点击的,那么可以用这个方法在它被点击的时候让它的子 View 都改变状态。

17.  android:tileMode(BitmapDrawable)——可以指定图片使用重复填充的模式。

18.  android:enterFadeDuration/android:exitFadeDuration(Drawables)——此属性在 Drawable 具有多种状态的时候,可以定义它展示前的淡入淡出效果。

19.  android:scaleType (ImageView)——定义在 ImageView中怎么缩放/剪裁图片,一般用的比较多的是“centerCrop”和“centerInside”。

20.  SparseArray——Map的高效优化版本。推荐了解姐妹类SparseBooleanArray、SparseIntArray和SparseLongArray。

21.  ActivityManager.clearApplicationUserData()——一键清理你的app产生的用户数据,可能是做用户退出登录功能,有史以来最简单的方式了。

22.  清除画布上的内容:canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);

23.  在自定义View的onDetachedFromWindow方法中清理与View相关的资源;

24.  Fragment在onAttach方法中接收回调,实现fragment向宿主activity的通信。

25.  使用ClipDrawable实现进度条功能;

26.  自定义view中的getContext(),再也不需要专门创建一个mContext全局对象了;

27.  自定义手写view的时候,在手指移动的过程中通过MotionEvent | Android Developers对象的getHistorySize()获得缓存的历史点,绘制出来的曲线要平滑很多。


 

6 0