1.使用Glide加载成圆角或圆形图片
圆形和圆角的两种方式
RoundedCorners roundedCorners = new RoundedCorners(30);
RequestOptions options = RequestOptions.bitmapTransform(roundedCorners).override(300, 300).circleCrop();
Glide.with(this).load(bitmap).apply(options).into(persondetailCamera);
RoundedCorners roundedCorners = new RoundedCorners(30);
RequestOptions options = RequestOptions.bitmapTransform(roundedCorners).override(300, 300);
Glide.with(this).load(bitmap).apply(options).into(persondetailCamera);
2. 系统适配
px: 像素 比如手机1080x2016 就是手机屏幕的宽和高,单位是px.
sp: 一般用来表示字体大小
dp: 一种基于density(密度系数)的单位,具体长度px = dp * density
//获取density和屏幕宽高px
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int heightPixels = ScreenUtils.getScreenHeight(this);
int widthPixels = ScreenUtils.getScreenWidth(this);
float density = dm.density;
/**
* 获取屏幕宽度
*
* @param context Context
* @return 屏幕宽度(px)
*/
public static int getScreenWidth(Context context) {
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Point point = new Point();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
wm.getDefaultDisplay().getRealSize(point);
} else {
wm.getDefaultDisplay().getSize(point);
}
return point.x;
}
/**
* 获取屏幕高度
*
* @param context Context
* @return 屏幕高度(px)
*/
public static int getScreenHeight(Context context) {
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Point point = new Point();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
wm.getDefaultDisplay().getRealSize(point);
} else {
wm.getDefaultDisplay().getSize(point);
}
return point.y;
}
适配创建不同名字的values
记住一句话,系统从大到小再到默认进行选择适配。
3. 服务如何不被杀
1. 在onStartCommand() 返回 START_STICKY或START_REDELIVER_INTENT
2. 在配置文件设置服务的优先级