Android开发你不知道的TIPS

时间:2023-03-10 02:52:48
Android开发你不知道的TIPS

1、Space space是Android 4.0中新增的一个控件,它实际上可以用来分隔不同的控件,其中形成一个空白的区域.这是一个轻量级的视图组件,它可以跳过Draw,对于需要占位符的任何场景来说都是很棒的


2、ValueAnimator.reverse() 这个方法可以很顺利地取消正在运行的动画


3、DateUtils.formatDateTime() 用来进行区域格式化工作,输出格式化和本地化的时间或者日期

其中可以利用DateUtils.isToday(long mill)判断日期是否为当天


4、Formatter.formatFileSize() 字节大小转换工具,大小转换为MB,G,KB,B之类的字符串


5、Linkify.addLinks(mTextView, Linkify.PHONE_NUMBERS) 在Text上添加链接


6、SystemClock.sleep() 这个方法在保证一定时间的 sleep 时很方便,可以用来进行 debug 和模拟网络延时


7、 getResources().getDisplayMetrics().heightPixels;获取设备像素密度


8、PhoneNumberUtils.formatNumber ()——顾名思义,这是对数字进行格式化操作的时候用的


9、LocalBroadcastManager——这个会比全局的 broadcast 更加安全,简单,快速


10、Application.registerActivityLifecycleCallbacks——注册 Activity 的生命周期的一些回调方法,就是一个方便的工具


11、Activity.recreate ()——强制让 Activity 重建


12、getPackageManager().checkSignatures();检查两个应用的签名是否一样


13、Activity.isChangingConfigurations ()——如果在 Activity 中 configuration 会经常改变的话,使用这个方法就可以不用手动做保存状态的工作了


14、android:weightSum (LinearLayout)——如果想使用 layout weights,但是却不想填充整个 LinearLayout 的话,就可以用 weightSum 来定义总的 weight 大小


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


16、android:fillViewport (ScrollView)——可以解决在 ScrollView 中当内容不足的时候填不满屏幕的问题


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


18、ViewDragHelper ——视图拖动是一个比较复杂的问题,这个类可以帮助解决不少问题


19、ThumbnailUtils——帮助创建缩略图,可以创建图片和视频缩略图,非常实用(ThumbnailUtils.createVideoThumbnail()、 ThumbnailUtils.extractThumbnail())


20、PackageManager.setComponentEnabledSetting()——可以用来启动或者禁用程序清单中的组件。对于关闭不需要的功能组件是非常赞的,比如关掉一个当前不用的广播接收器


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


22、ViewParent.requestDisallowInterceptTouchEvent() ——Android系统触摸事件机制大多时候能够默认处理,不过有时候你需要使用这个方法来剥夺父级控件的控制权