`

【转】Android开发中,有哪些让你觉得相见恨晚的方法、类或接口?

阅读更多

 
1、Throwable类中的getStackTrace()方法,根据这个方法可以得到函数的逐层调用地址,其返回值为StackTraceElement[];

2、StackTraceElement类,其中四个方法getClassName(),getFileName(),getLineNumber(),getMethodName()在调试程序打印Log时非常有用;

3、UncaughtExceptionHandler接口,再好的代码异常难免,利用此接口可以处理未捕获的异常;
使用参见:Android使用UncaughtExceptionHandler捕获全局异常

4、Resources类中的getIdentifier(name, defType, defPackage)方法,根据资源名称获取其ID,做UI时经常用到;

5、View中的isShown()方法,以前都是用view.getVisibility() == View.VISIBLE来判断的(╯□╰);

6、Arrays类中的asList(T... array)方法,数组转List集合;反过来List.toArray()

7、android.text.format.Formatter类中formatFileSize(Context, long)方法,用来格式化文件Size(B → KB → MB → GB);

8、android.media.ThumbnailUtils类,用来获取媒体(图片、视频)缩略图;

9、String类中的format(String, Object...)方法,用来格式化strings.xml中的字符串(多谢 @droider An 提示:Context类中getString(int, Object... )方法用起来更加方便);

10、View类中的三个方法:callOnClick()performClick()performLongClick(),用于触发View的点击事件;

11、TextUtils类中的isEmpty(String)方法,判断字符串是否为null或"";

12、TextView类中的append(String)方法,添加文本;

13、View类中的getDrawingCache()等一系列方法,目前只知道可以用来截图;

14、DecimalFormat类,用于字串格式化包括指定位数、百分数、科学计数法等;

15、System类中的arraycopy(src, srcPos, dest, destPos, length)方法,用来copy数组;

16、Fragment类中的onHiddenChanged(boolean)方法,使用FragmentTransaction中的hide(),show()时貌似Fragment的其它生命周期方法都不会被调用,太坑爹!

17、Activity类中的onWindowFocusChanged(boolean)方法;

18、View类中的getLocationInWindow(int[])方法和getLocationOnScreen(int[])方法,获取View在窗口/屏幕中的位置;

19、TextView类中的setTransformationMethod(TransformationMethod)方法,可用来实现“显示密码”功能;

20、TextWatcher接口,用来监听文本输入框内容的改变;

21、View类中的setSelected(boolean)方法结合android:state_selected=""用来实现图片选中效果;

22、Surface设置透明:SurfaceView.setZOrderOnTop(true);
SurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT);
但是会挡住其它控件;

23、ListView或GridView类中的setFastScrollEnabled(boolean)方法,用来设置快速滚动滑块是否可见,当然前提是item够多;

24、PageTransformer接口,用来自定义ViewPager页面切换动画,用setPageTransformer(boolean, PageTransformer)方法来进行设置;

25、apache提供的一系列jar包:commons-lang.jarcommons-collections.jarcommons-beanutils.jar等,里面很多方法可能是你曾经用几十几百行代码实现过的,但是执行效率或许要差很多,比如:ArrayUtils,StringUtils……;

26、AndroidTestCase类,Android单元测试;

27、Activity类中的onNewIntent(intent)方法;

28、TextView类的setKeyListener(KeyListener)方法;
其中DigitsKeyListener类,使用getInstance(String accepted)方法即可指定EditText可输入字符集。
 
29、getParent().requestDisallowInterceptTouchEvent(true);剥夺父view对touch事件的处理权,谁用谁知道。
30、Activity.startActivities() 常用于在应用程序中间启动其他的Activity。
31、
  • 清除画布上的内容:canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
  • 在自定义View的onDetachedFromWindow方法中清理与View相关的资源;
  • Fragment在onAttach方法中接收回调:

32、android:animateLayoutChanges

      一直以为 Lollipop Dialer 接通画面里面那些酷炫的动画(文字部分)是很复杂的做出来的,后来发现其实只有一行。视频 演示:https://dl.pushbulletusercontent.com/N75Bx03taJzFVjjLkMpzzyqGKT8m5PpH/cm_trltexxLMY48Gyilun07312015153119.mp4

只需要加好 android:animateLayoutChanges="true" 然后 setVisibility 就可以了

 

33、(1)通过 WindowManager.addView 在其他app界面添加一个view时,经常会无法显示,特别在miui,emui固件上,需要指定type为LayoutParams.TYPE_TOAST。

       (2)View.getLocationOnScreen(new int[]),获取view在屏幕上的位置
分享到:
评论

相关推荐

    50个相见恨晚的CAD技巧总结

    CAD画图已经成为工程人的必备技能。什么,这么多CAD必备技巧你居然还不知道?下面小编给大家整理了50个相见恨晚的CAD技巧,带你玩转CAD!!

    相见恨晚经典话语.docx

    相见恨晚经典话语.docx

    让你相见恨晚的十个Python骚操作

    Python 的代码之所以这么优雅,完全归功于其独有的特性,只要你掌握了这些特性,同样可以写出像诗一样的代码。 下面我们就一起看看 Python 中的骚操作。 0x00 Hello World 对于大部分程序员来说,第一个程序应该都...

    2009-相见恨晚的30句话-@Lonely Fish.zip

    2009-相见恨晚的30句话-@Lonely Fish

    Windows程序设计笔记(1,2,3)

    近有幸拜读了Charles Petzold的大作《Windows程序设计》,真有种相见恨晚的感觉。这是一本1999年出版、主要讲述在Windows平台下如何使用C语言调用API函数进行软件开发的老书。在当今RAD工具充斥市场的今天,该书依然...

    手工清理病毒(偶之遇,相见恨晚之感,亦有受益匪浅)

    当大家看到这个题目的时候...笔者写这个文章的目的就是让所有菜鸟在面对病毒的时候能轻而易举的狙杀掉它,而不是重装系统,或者在重装N次系统以后无奈的选择格式化,结果却依然无法将讨厌的病毒驱逐出你可怜的电脑。

    亲爱的界面 让用户乐于使用、爱不释手.zip

    内容提要: 这本书对软件用户体验设计全过程进行了百科全书式的描述,有最新最好的实践案例、内容翔实的设计方法。相见恨晚啊!——凯斯?朗,Skitch公司COO和交互设计师写可用性话题很难摆脱过分学院派的缺点,但...

    Android 高仿QQ 沉浸式状态栏

    接下来我就给大家介绍怎样快速打造沉浸式状态栏吧,虽然感觉有点相见恨晚,但其实不完! 一:何为沉浸式状态栏? 沉浸式状态栏是Google从Android 4.4开始,给我们开发者提供的一套能透明的系统ui样式,这样样式是给...

    [李涛] 大众摄影数字课堂 集全12集及素材.docx

    当你学完本期堆栈的基本使用方法和经典案例后,你会惊讶地发现它是如此的好用,不但上述题材能够获得绝佳表现外,而且能激发你更多的创作灵感,让人大有相见恨晚之感。 第六期 电影调色 很多影友非常喜欢电影的色调...

    系统增强文件管理器 Total Commander 9.51 + x64 Final 中文.zip

    在接触、了解这个完美的工具后,相信你会和我一样有相见恨晚的感觉。 Total Commander 的最大特点是由两个列表窗口组成,这种设计避免了 Windows资 源管理器目录树在文件操作的一系列弊端: 首先,资源管理器在选择...

    解析Python 偏函数用法全方位实现

    Python的functools模块中有一种函数叫“偏函数”,自从接触它以来,发现确实是一个很有用且简单的函数,相信你看完这篇文章,你也有相见恨晚的感觉。 我们都知道,函数入参可以设置默认值来简化函数调用,而偏函数的...

    Windows笔记资料

    抛弃光驱,让你的U盘变光驱,制作USB-CDROM,用U盘安装系统.doc; 实物讲解如何配置无线路由和网卡.doc; 无线网卡链接无线路由组网设置详解.doc; 新手之蓝牙适配器使用方法.doc; 一步一步教你如何修改Logonui.doc...

    Total commander 7.02a

    在接触、了解这个完美的工具后,相信你会和我一样有相见恨晚的感觉。  Total Commander的最大特点是由两个列表窗口组成,这种设计避免了windows资源治理器目录树在文件操作的一系列弊端:  首先,资源治理器在...

    C++矩阵库 Eigen 快速入门

    的问题是之前一直用 Matlab,对 Eigen 的 API 接口不太熟悉,如果能有 Eigen 和 Matlab 对应的说明想必是极好的,终于功夫不负有心人,让我找到了,原文在这里,不过排版有些混乱,我将其重新整理了一下,方便日后...

    一些相见恨晚的 JavaScript 技巧

    本文从7个方面讲述 JavaScript 中那些你不很熟知但非常实用的技巧。简略语句 JavaScript 可以使用简略语句快速创建对象和数组,比如下面的代码: 代码如下: var car = new Object(); car.colour = ‘red’; car....

    Total Commander 文件管理工具

    在接触、了解这个完美的工具后,相信你会和我一样有相见恨晚的感觉。  Total Commander 的最大特点是由两个列表窗口组成,这种设计避免了 Windows资 源管理器目录树在文件操作的一系列弊端:  首先,资源管理器...

    java常用设计模式

    很多我所认识的程序员在接触到设计模式之后,都有一种相见恨晚的感觉,有人形容学习了设计模式之后感觉自己好像已经脱胎换骨,达到了新的境界,还有人甚至把是否了解设计模式作为程序员划分水平的标准。 我们也不能...

    推荐一些能能提高生产力的 Python 库

    “ 阅读本文大概需要 3 分钟。 ” 一门语言好用、方便的程度在很多时候会取决于这门语言相关的库够...正好昨天刷到知乎一个问题「你见过哪些相见恨晚的 Python 库?」,其意就是想了解下有哪些非常好用的提高生产力的

Global site tag (gtag.js) - Google Analytics