122 lines
3.0 KiB
Plaintext
122 lines
3.0 KiB
Plaintext
|
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;
|
|||
|
}
|
|||
|
}
|