XiMengJianYu/.svn/pristine/26/26b7f56779956957705cd6e2b3002bcb844e3a07.svn-base
2023-04-17 17:58:44 +08:00

122 lines
3.0 KiB
Plaintext
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.example.administrator.ximengjianyu.utils;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.support.v4.app.FragmentActivity;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.WindowManager;
import java.util.ArrayList;
import java.util.List;
public class CoreUtil {
//加载对话框
private static ProgressDialog pd;
private static float sDensity = 0;
static List<FragmentActivity> list = new ArrayList<FragmentActivity>();
/**
* 把所有打开的activity加进集合
* @param fActivity
*/
public void addToActivityList(FragmentActivity fActivity){
if(!list.contains(fActivity)){
list.add(fActivity);
}
}
/**
* 关闭activity集合
*/
public void finishActivityList(){
Log.e("CoreUtl","activity集合大小-----》》"+list.size());
for (int i = 0; i < list.size(); i++) {
Log.e("CoreUtl","被关闭fragmentActivity-----》》"+list.get(i));
list.get(i).finish();
}
list.clear();
}
/**
* 关闭activity 并杀死进程。
*/
public void exitApp(){
for (FragmentActivity activity : list) {
activity.finish();
Log.e("CoreUtl","exitApp:-----》》"+activity);
}
list.clear();
Log.e("CoreUtl","android.os.Process.killProcess(android.os.Process.myPid());");
//杀死进程
android.os.Process.killProcess(android.os.Process.myPid());
}
/**
* 开启加载提示对话款
*/
public void showProDialog(Context context) {
if(pd == null ){
pd = new ProgressDialog(context);
pd.setMessage("加载中,请稍后...");
pd.setCancelable(false);
}
if(pd.isShowing()){
// pd.dismiss();
return;
}
pd.show();
}
/**
* 关闭加载提示对话款
*/
public void dismissProDialog() {
if(pd != null ){
pd.dismiss();
}
}
/**
* 将sp值转换为px值保证文字大小不变
* @param context
* @param spValue
* @return
*/
public int spToPixel(Context context, float spValue) {
final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
return (int) (spValue * fontScale + 0.5f);
}
/**
* dp转换为像素
* @param context
* @param nDip
* @return
*/
public static int dipToPixel(Context context, int nDip) {
if (sDensity == 0) {
final WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(dm);
sDensity = dm.density;
}
return (int) (sDensity * nDip);
}
/**
* 获取屏幕 宽 高
* @param activity
* @return 数组 0 为宽度 1 为高度
*/
public int[] getDisplay(Activity activity){
int[] display = new int[2];
DisplayMetrics dm = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
display[0] = dm.widthPixels;
display[1] = dm.heightPixels;
return display;
}
}