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

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

  • Canvas中clipRect、clipPath和clipRegion 剪切区域的API。

  • Bitmap.extractAlpha ();返回一个新的Bitmap,capture原始图片的alpha 值。有的时候我们需要动态的修改一个元素的背景图片又不希望使用多张图片的时候,通过这个方法,结合Canvas 和Paint 可以动态的修改一个纯色Bitmap的颜色。

  • HandlerThread,代替不停new Thread 开子线程的重复体力写法。

  • IntentService,一个可以干完活后自己去死且不需要我们去管理子线程的Service。

  • Palette,5.0加入的可以提取一个Bitmap 中突出颜色的类,结合上面的Bitmap.extractAlpha,你懂的。

  • Executors. newSingleThreadExecutor();这个是java 的,之前不知道它,自己花很大功夫去研究了单线程顺序执行的任务队列。。

  • android:animateLayoutChanges=”true”,LinearLayout中添加View 的动画的办法,支持通过setLayoutTransition()自定义动画。

  • ViewDragHelper,自定义一个子View可拖拽的ViewGroup 时,处理各种事件很累吧,嗯? what the fuck!!

  • GradientDrawable,之前接手公司的项目,发现有个阴影效果还不错,以为是切的图片,一看代码,什么鬼= =!

  • AsyncQueryHandler,如果做系统工具类的开发,比如联系人短信辅助工具等,肯定免不了和ContentProvider打交道,如果数据量不是很大的情况下,随便搞,如果数据量大的情况下,了解下这个类是很有必要的,需要注意的是,这玩意儿吃异常..

  • ViewFlipper,实现多个view的切换(循环),可自定义动画效果,且可针对单个切换指定动画。

  • 有朋友提到了在自定义View时有些方法在开启硬件加速的时候没有效果的问题,在API16之后确实有很多方法不支持硬件加速,通常我们关闭硬件加速都是在清单文件中通过,其实android也提供了针对特定View关闭硬件加速的方法,调用View.setLayerType(View.LAYER_TYPE_SOFTWARE, null);即可。

  • android util包中的Pair类,可以方便的用来存储一”组”数据。注意不是key value。

  • PointF,graphics包中的一个类,我们经常见到在处理Touch事件的时候分别定义一个downX,一个downY用来存储一个坐标,如果坐标少还好,如果要记录的坐标过多那代码就不好看了。用PointF(float x, float y);来描述一个坐标点会清楚很多。

  • StateListDrawable,定义Selector通常的办法都是xml文件,但是有的时候我们的图片资源可能是从服务器动态获取的,比如很多app所谓的皮肤,这种时候就只能通StateListDrawable
    来完成了,各种addState即可。

  • android:descendantFocusability,ListView的item中CheckBox等元素抢焦点导致item点击事件无法响应时,除了给对应的元素设置 focusable,更简单的是在item根布局加上android:descendantFocusability=”blocksDescendants”

  • android:duplicateParentState=”true”,让子View跟随其Parent的状态,如pressed等。常见的使用场景是某些时候一个按钮很小,我们想要扩大其点击区域的时候通常会再给其包裹一层布局,将点击事件写到Parent上,这时候如果希望被包裹按钮的点击效果对应的Selector继续生效的话,这时候duplicateParentState就派上用场了。

  • includeFontPadding=”false”,TextView默认上下是有一定的padding的,有时候我们可能不需要上下这部分留白,加上它即可。

  • Messenger,面试的时候通常都会被问到进程间通信,一般情况下大家都是开始背书,AIDL巴拉巴拉。。有一天在鸿神的博客看到这个,嗯,如他所说,又可以装一下了。

  • TextView.setError();用于验证用户输入。

  • ViewConfiguration.getScaledTouchSlop();触发移动事件的最小距离,自定义View处理touch事件的时候,有的时候需要判断用户是否真的存在movie,系统提供了这样的方法。

  • ValueAnimator.reverse(); 顺畅的取消动画效果。

  • ViewStub,有的时候一块区域需要根据情况显示不同的布局,通常我们都会通过setVisibility的方法来显示和隐藏不同的布局,但是这样默认是全部加载的,用ViewStub可以更好的提升性能。

  • onTrimMemory,在Activity中重写此方法,会在内存紧张的时候回调(支持多个级别),便于我们主动的进行资源释放,避免OOM。

  • EditTxt.setImeOptions, 使用EditText弹出软键盘时,修改回车键的显示内容(一直很讨厌用回车键来交互,所以之前一直不知道这玩意儿)

  • TextView.setCompoundDrawablePadding,代码设置TextView的drawable padding。

  • ImageSwitcher,可以用来做图片切换的一个类,类似于幻灯片。

  • WeakHashMap,直接使用HashMap有时候会带来内存溢出的风险,使用WaekHashMap实例化Map。当使用者不再有对象引用的时候,WeakHashMap将自动被移除对应Key值的对象。

Android开发中,那些让你相见恨晚的方法、类或接口相关推荐

  1. Android开发中保存数据的四种方法方法

    本文来自:安卓航班网 在Android开发中我们会接触到四种数据存储方式,每种存储方式都各有不同:以下安卓航班分别列举了Android开发中的不同存储方式的特点. 一,Preferences Pref ...

  2. Android 开发中一些很有用但你不知道的方法

    English_Version:https://github.com/jiang111/awesome-android-tips/blob/master/README-en.md这里收集了大家常用的一 ...

  3. Android开发中完全退出程序的三种方法

    Android程序有很多Activity,比如说主窗口A,调用了子窗口B,在B中如何关闭整个Android应用程序呢? 这里给大家三种比较简单的方法实现. 首先要说明在B中直接使用finish(),接 ...

  4. Android 开发中使用Intent传递数据的方法

    Activity之间通过Intent传递值,支持基本数据类型和String对象及它们的数组对象byte.byte[].char.char[].boolean.boolean[].short.short ...

  5. android代码实现手机加速功能吗,详解Android开发中硬件加速支持的使用方法

    Android从3.0(API Level 11)开始,在绘制View的时候支持硬件加速,充分利用GPU的特性,使得绘制更加平滑,但是会多消耗一些内存. 开启或关闭硬件加速: 由于硬件加速自身并非完美 ...

  6. android开发中遇到的异常及解决方法

    每次运行项目,可能因为粗心或者哪一行代码没有调用,会导致项目不能运行,出现异常. 以下就是我总结的各种异常,会一直更新. 1. Unable to find explicit activity cla ...

  7. Android开发中的Handler和多线程

    在Android开发中我们常常用到Handler这个类去处理消息队列中的消息,以下这个例子实现的是利用Handler传递一个消息给线程,线程运行run()方法去更新进度条的进度,以下是源代码: pub ...

  8. Android开发中应避免的重大错误

    by Varun Barad 由Varun Barad Android开发中应避免的重大错误 (Critical mistakes to avoid in Android development) A ...

  9. android 4.4 禁止下拉,Android开发中禁止下拉式的实现技巧

    我们开发项目的时候,经常会看到禁止的情况,而Android开发中并没有直接调用的接口,下面是爱站技术频道小编就给大家介绍的Android开发中禁止下拉式的实现技巧,希望网友们喜欢! 分享给大家供大家参 ...

  10. 史上最全Android开发中100%会用到的开源框架整理(1/5)

    其实这个开源框架整理很久了,只是一直放在有道云笔记里面,笔者还有很多写得文章都放在有道云笔记里面,有时间都好好整理一下放出来,本篇文章也会不定期更新,由于整理的开源框架分类都有200多个,所有这次只将 ...

最新文章

  1. Linux下的十个好用的命令工具:查看系统版本,显示目录的大小,查看硬盘HDD/SSD,硬盘测速,ssh时自动输入密码,查看程序的内存使用情况,查看I/O的速度,查看ssh密码错误日志,查找文件
  2. Express.js 3.0 发布,Node.js 的高性能封装
  3. 黑客零基础入门 | 网络安全
  4. 2021-10-11 寻找二叉树结点的前驱或后继结点(用到parent指针)
  5. Android广播的学习和使用
  6. python 倒叙 数组_Python函数合集:68个内置函数请收好!
  7. arm处理器的历史及现状
  8. android 打电话
  9. 【文章】一副对联,便写尽了人生
  10. 13号线ab线规划图_南宁地铁线最新规划(20202035年)!喜添8条轨道普线、1条环线和4条快线…...
  11. UNITY 之FixedUpdate
  12. ubuntu openStack icehouse dashboard theme自定义
  13. 导入excel 文件解析,一行数据,有一列分两行显示,解析时如何 合为一行?
  14. 探索数藏未来 秦储数字藏品座谈会成功召开
  15. 秒懂FPGA、单片机、DSP、ASIC的区别
  16. 显示计算机工程系老师所教课程的成绩表.,sql查询
  17. 海航重组当当,航机飘上书香
  18. 浅读CVPR2022-CrossPoint
  19. HUAWEI WeAutomate RPA初级教程之网页自动化
  20. 《深入理解Java虚拟机第3版》垃圾收集器与内存分配策略、虚拟机性能监控故障处理工具

热门文章

  1. Java 将Excel转为PDF(基于Spire.Cloud.SDK for Java)
  2. 03、LINUX应用层
  3. 表格内容添加(js)
  4. 射影几何-----帕普斯定理的代数证明
  5. STM32F103Mini移植RT-ThreadNano
  6. QQ:登录超时,请检查您的网络或者本机防火墙设置。 (错误码:Ox00000001)
  7. 让键盘输入飞起来——输入法自定义短语
  8. [凯圣王]碳水在身体内的去向/碳水前置后置的区别/碳水循环计划的简聊/训练前什么时间吃碳水
  9. 毕业10年,一个上海女程序员的职业之路—02
  10. 【华为OD机试真题 JAVA】火星文计算【2022 Q4 | 100分】