getResources().getIdentifier(String name, String defType, String defPackage)——根据资源名称获取资源 id。一个完整的资源名为package:type/entry,对应该方法的三个参数:资源名称、资源类型、应用包名。
TypedValue.applyDimension(int unit, float value, DisplayMetrics metrics)——将指定单位的尺寸数据按照当前设备屏幕信息转化为相应的像素值。其中,TypedValue 为第一个参数提供了常用的单位值,比如:
COMPLEX_UNIT_PX
COMPLEX_UNIT_DIP
COMPLEX_UNIT_PT
COMPLEX_UNIT_SP
view.performClick()——自动调用 View 点击事件。通常按钮等控件只有在用户点击时才能触发其点击事件,该方法可以由某些特殊条件触发模拟用户点击行为。类似的还有 performLongClick() 方法。
Log.getStackTraceString(Throwable tr)——Log 类提供的一个公共静态方法,与常见的 Log.i() 等方法打印日志到 logcat 控制台不同的是,该方法从 Throwable 对象中获取错误信息,并以字符串的形式返回。当你需要做错误信息的数据持久化,比如保存至本地存储卡中或者上传至服务器时,利用这个方法就非常方便。
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE)——设置安全窗口,禁用系统截屏。
拦截 Back 键,使 App 进入后台而不是关闭
@Override
public void onBackPressed() {
Intent launcherIntent = new Intent(Intent.ACTION_MAIN);
launcherIntent.addCategory(Intent.CATEGORY_HOME);
startActivity(launcherIntent);
}
ThumbnailUtils——缩略图工具类,可以根据本地视频文件源、Bitmap 对象生成缩略图,常用的公共静态方法为:
createVideoThumbnail(String filePath, int kind)
extractThumbnail(Bitmap source, int width, int height)
bitmap.extractAlpha()——从源 bitmap 中根据 alpha 获取一个新的 bitmap 对象。通常 App 中的 Icon 多数是纯色透明像素背景组成,利用这个方法可以对该图的非透明区域着色,有多种使用场景,常见如 Button 的 pressed 状态,View 的阴影状态等。
android:descendantFocusability——用于 ViewGroup 中,解决作为 Parent 的 ViewGroup 与 Children View 之间的焦点占用问题。最最常见的使用场景就是 list item 中含有一些点击效果的控件,比如 Button、CheckBox 等,相信大家都遇到过。取值有三种,含义就不用再多说了:
afterDescendants
beforeDescendants
blocksDescendants
android:adjustViewBounds——使用 ImageView 时,你可能会用 android:scaleType 属性设置图片缩放方式,殊不知该属性也能起到类似的效果。但要注意的是,后者需要至少指定 ImageView 宽高中的一个属性,或者 maxHeight 之类的,然后另一个属性随之适配。