-
实现TextView的文字竖式显示
通过重写TextView的onDraw方法,通过调用Canvas的rotate()和translate(),将控件在画布上旋转90度,然后x往外移动,若不移动,会显示不出来,因为旋转后,文字位置其实是在画布外的
-
实现监控整个app生命周期
通过在Application里使用registerActivityLifecycleCallbacks方法,注册一个ActivityLifecycleCallbacks监听器进行监听
-
实现圆形图片圆角图片
https://blog.csdn.net/xiaohanluo/article/details/52945791
利用CardView控件实现圆角时,若出现白边,设置cardBackgroundColor属性为透明即可
-
判断应用是否在后台
public static boolean isRunningForeground(Context context) {
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
if (activityManager != null) {
List<ActivityManager.RunningAppProcessInfo> appProcessInfos = activityManager.getRunningAppProcesses();
if (appProcessInfos != null) {
// 枚举进程
for (ActivityManager.RunningAppProcessInfo appProcessInfo : appProcessInfos) {
if (appProcessInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
if (appProcessInfo.processName.equals(context.getApplicationInfo().processName)) {
return true;
}
}
}
}
}
return false;
}
-
让子控件响应父控件的状态变化
这里说的状态变化,并不是点击事件的传递,而且按下,按住,放开,选中等,在做项目的时候,我们常常需要做按钮或者一些控件的操作反馈,例如按下时改变背景颜色等,但有些时候布局较为复杂,会出现点击父布局,然后需要所有子控件都根据这个状态产生变化,这时候就可以对子控件设置该属性,从而达到改变父控件状态,便同时触发子控件的状态改变
android:duplicateParentState="true"