package com.example.jingbin.cloudreader.utils; import android.app.ActivityManager; import android.content.ClipboardManager; import android.content.Context; import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.net.Uri; import android.text.TextUtils; import android.util.DisplayMetrics; import android.view.WindowManager; import android.widget.TextView; import com.example.jingbin.cloudreader.app.CloudReaderApplication; import java.lang.reflect.Field; import java.text.DecimalFormat; import java.text.NumberFormat; import java.util.List; import java.util.Locale; /** * Created by jingbin on 2017/2/13. */ public class BaseTools { //获取图片所在文件夹名称 public static String getDir(String path) { String subString = path.substring(0, path.lastIndexOf('/')); return subString.substring(subString.lastIndexOf('/') + 1, subString.length()); } public static int getWindowWidth(Context context) { // 获取屏幕分辨率 WindowManager wm = (WindowManager) (context .getSystemService(Context.WINDOW_SERVICE)); DisplayMetrics dm = new DisplayMetrics(); wm.getDefaultDisplay().getMetrics(dm); int mScreenWidth = dm.widthPixels; return mScreenWidth; } public static int getWindowHeigh(Context context) { // 获取屏幕分辨率 WindowManager wm = (WindowManager) (context .getSystemService(Context.WINDOW_SERVICE)); DisplayMetrics dm = new DisplayMetrics(); wm.getDefaultDisplay().getMetrics(dm); int mScreenHeigh = dm.heightPixels; return mScreenHeigh; } //获得状态栏/通知栏的高度 public static int getStatusBarHeight(Context context) { Class<?> c = null; Object obj = null; Field field = null; int x = 0, statusBarHeight = 0; try { c = Class.forName("com.android.internal.R$dimen"); obj = c.newInstance(); field = c.getField("status_bar_height"); x = Integer.parseInt(field.get(obj).toString()); statusBarHeight = context.getResources().getDimensionPixelSize(x); } catch (Exception e1) { e1.printStackTrace(); } return statusBarHeight; } /** * 使用默认方式显示货币: * 例如:¥12,345.46 默认保留2位小数,四舍五入 * * @param d double * @return String */ public static String formatCurrency(double d) { String s = ""; try { DecimalFormat nf = (DecimalFormat) NumberFormat.getCurrencyInstance(Locale.CHINA); s = nf.format(d); } catch (Exception e) { e.printStackTrace(); return "" + d; } return s; } /** * 去掉无效小数点 ".00" */ public static String formatMoney(double d) { String tmp = formatCurrency(d); if (tmp.endsWith(".00")) { return tmp.substring(0, tmp.length() - 3); } else { return tmp; } } /** * 处于栈顶的Activity名 */ public String getTopActivityName(Context context) { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List var2 = am.getRunningTasks(1); return ((ActivityManager.RunningTaskInfo) var2.get(0)).topActivity.getClassName(); } public static void setText(String text, TextView textView) { if (textView != null) { if (TextUtils.isEmpty(text)) { textView.setText(""); } else { textView.setText(text); } } } /** * 获取当前应用的版本号 */ public static String getVersionName() { // 获取packagemanager的实例 PackageManager packageManager = CloudReaderApplication.getInstance().getPackageManager(); // getPackageName()是你当前类的包名,0代表是获取版本信息 PackageInfo packInfo = null; try { packInfo = packageManager.getPackageInfo(CloudReaderApplication.getInstance().getPackageName(), 0); return packInfo.versionName; } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); return "1.0"; } } /** * 实现文本复制功能 * * @param content 复制的文本 */ public static void copy(String content) { // 得到剪贴板管理器 ClipboardManager cmb = (ClipboardManager) CloudReaderApplication.getInstance().getSystemService(Context.CLIPBOARD_SERVICE); cmb.setText(content.trim()); } /** * 使用浏览器打开链接 */ public static void openLink(Context context, String content) { Uri issuesUrl = Uri.parse(content); Intent intent = new Intent(Intent.ACTION_VIEW, issuesUrl); context.startActivity(intent); } }