package com.letv.watchball.utils; import java.util.Calendar; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.os.BatteryManager; import android.os.Handler; import android.os.Message; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; import android.view.inputmethod.InputMethodManager; import android.view.Window; import android.view.WindowManager; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import com.letv.watchball.LetvApplication; import com.letv.watchball.R; import com.letv.watchball.bean.MessageBean; import com.letv.watchball.db.DBManager; import com.letv.watchball.view.PublicLoadLayout; public class UIs { private static LetvToast mLetvToast = null; private static Toast mToast = null; /** * 创建一个公共的加载布局 * */ public static PublicLoadLayout createPage(Context context, int layoutId) { PublicLoadLayout rootView = new PublicLoadLayout(context); rootView.addContent(layoutId); return rootView; } /** * 根据资源ID得到View * */ public static View inflate(Context context, int resource, ViewGroup root, boolean attachToRoot) { return LayoutInflater.from(context).inflate(resource, root, attachToRoot); } /** * 根据资源ID得到View * */ public static View inflate(Context context, int resource, ViewGroup root) { return LayoutInflater.from(context).inflate(resource, root); } /** * 根据资源ID得到View * */ public static View inflate(LayoutInflater inflater, int resource, ViewGroup root, boolean attachToRoot) { return inflater.inflate(resource, root, attachToRoot); } /** * 将一倍尺寸缩放到当前屏幕大小的尺寸(宽) * */ public static int zoomWidth(int w) { int sw = 0; sw = getScreenWidth(); return (int) (w * sw / 320f + 0.5f); } /** * 将一倍尺寸缩放到当前屏幕大小的尺寸(高) * */ public static int zoomHeight(int h) { int sh = 0; sh = getScreenHeight(); return (int) (h * sh / 480f + 0.5f); } /** * 缩放控件 * */ public static void zoomView(int w, int h, View view) { if (view == null) { return; } LayoutParams params = view.getLayoutParams(); if (params == null) { return; } params.width = zoomWidth(w); params.height = zoomHeight(h); } /** * 缩放控件 * */ public static void zoomViewHeight(int h, View view) { if (view == null) { return; } LayoutParams params = view.getLayoutParams(); if (params == null) { return; } params.height = zoomWidth(h); } /** * 缩放控件 * */ public static void zoomViewWidth(int w, View view) { if (view == null) { return; } LayoutParams params = view.getLayoutParams(); if (params == null) { return; } params.width = zoomWidth(w); } /** * 缩放控件 * */ public static void zoomViewFull(View view) { if (view == null) { return; } LayoutParams params = view.getLayoutParams(); if (params == null) { return; } params.width = getScreenWidth(); params.height = getScreenHeight(); } /** * dip转px * */ public static int dipToPx(int dipValue) { final float scale = LetvApplication.getInstance().getResources().getDisplayMetrics().density; int pxValue = (int) (dipValue * scale + 0.5f); return pxValue; } /** * px转dip * */ public static float dipToPxFloat(int dipValue) { final float scale = LetvConstant.Global.displayMetrics.density; float pxValue = dipValue * scale; return pxValue; } /** * 获取顶部状态栏高度 * * @param act * @return */ public static int getStatusBarHeight(Activity act) { Rect frame = new Rect(); act.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame); return frame.top; } /** * 获取标题栏高度 * * @param act * @return */ public static int getTitleBarHeight(Activity act) { int contentTop = act.getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop(); int titleBarHeight = contentTop - getStatusBarHeight(act); return titleBarHeight; } /** * 获取内容区域高度 * * @param act * @return */ public static int getContentHeight(Activity act) { int contentTop = act.getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop(); return (getScreenHeight() - contentTop); } /** * 得到屏幕宽度 * */ public static int getScreenWidth() { return ((WindowManager) LetvApplication.getInstance().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getWidth(); } /** * 得到屏幕高度 * */ public static int getScreenHeight() { return ((WindowManager) LetvApplication.getInstance().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getHeight(); } /** * 判断是否是横屏 * */ public static boolean isLandscape(Activity activity) { int t = activity.getResources().getConfiguration().orientation; if (t == Configuration.ORIENTATION_LANDSCAPE) { return true; } return false; } /** * 全屏 * */ public static void fullScreen(Activity activity) { activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); } /** * 隐藏Title * */ public static void notFullScreen(Activity activity) { activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); } /** * 设置为横屏 * */ public static void screenLandscape(Activity activity) { activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } /** * 设置为竖屏 * */ public static void screenPortrait(Activity activity) { activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } public static void notifyShort(Context context, int textId) { if (mLetvToast == null && LetvApplication.getInstance() != null) { mLetvToast = new LetvToast(LetvApplication.getInstance()); mLetvToast.setDuration(Toast.LENGTH_SHORT); } mLetvToast.setErr(false); mLetvToast.setMsg(textId); mLetvToast.show(); } public static void notifyShort(Context context, String text) { if (mLetvToast == null && LetvApplication.getInstance() != null) { mLetvToast = new LetvToast(LetvApplication.getInstance()); mLetvToast.setDuration(Toast.LENGTH_SHORT); } mLetvToast.setErr(false); mLetvToast.setMsg(text); mLetvToast.show(); } public static void notifyErrShort(Context context, String text) { if (mLetvToast == null && LetvApplication.getInstance() != null) { mLetvToast = new LetvToast(LetvApplication.getInstance()); mLetvToast.setDuration(Toast.LENGTH_SHORT); } mLetvToast.setErr(true); mLetvToast.setMsg(text); mLetvToast.show(); } public static void notifyErrShort(Context context, int textId) { if (mLetvToast == null && LetvApplication.getInstance() != null) { mLetvToast = new LetvToast(LetvApplication.getInstance()); mLetvToast.setDuration(Toast.LENGTH_SHORT); } mLetvToast.setErr(true); mLetvToast.setMsg(textId); mLetvToast.show(); } public static void notifyErrLong(Context context, String text) { if (mLetvToast == null && LetvApplication.getInstance() != null) { mLetvToast = new LetvToast(LetvApplication.getInstance()); mLetvToast.setDuration(Toast.LENGTH_LONG); } mLetvToast.setErr(true); mLetvToast.setMsg(text); mLetvToast.show(); } public static void notifyErrLong(Context context, int textId) { if (mLetvToast == null && LetvApplication.getInstance() != null) { mLetvToast = new LetvToast(LetvApplication.getInstance()); mLetvToast.setDuration(Toast.LENGTH_LONG); } mLetvToast.setErr(true); mLetvToast.setMsg(textId); mLetvToast.show(); } public static void notifyTiming(Context context, int msgId, int time) { if (mLetvToast == null && LetvApplication.getInstance() != null) { mLetvToast = new LetvToast(LetvApplication.getInstance()); mLetvToast.setDuration(Toast.LENGTH_LONG); } mLetvToast.setErr(false); mLetvToast.setMsg(msgId); mLetvToast.show(); Handler handler = new Handler() { @Override public void handleMessage(Message msg) { mLetvToast.cancel(); } }; mLetvToast.show(); handler.sendEmptyMessageDelayed(0, time); } public static void notifyTiming(Context context, String msg, int time) { if (mLetvToast == null && LetvApplication.getInstance() != null) { mLetvToast = new LetvToast(LetvApplication.getInstance()); mLetvToast.setDuration(Toast.LENGTH_LONG); } mLetvToast.setErr(false); mLetvToast.setMsg(msg); mLetvToast.show(); Handler handler = new Handler() { @Override public void handleMessage(Message msg) { mLetvToast.cancel(); } }; mLetvToast.show(); handler.sendEmptyMessageDelayed(0, time); } public static void cancelNotify() { if (mLetvToast != null) { mLetvToast.cancel(); } if (mToast != null) { mToast.cancel(); } } public static void notifyShortNormal(Context context, String text) { if (mToast == null && LetvApplication.getInstance() != null) { mToast = Toast.makeText(LetvApplication.getInstance(), "", Toast.LENGTH_SHORT); } mToast.setDuration(Toast.LENGTH_SHORT); mToast.setText(text); mToast.show(); } public static void notifyShortNormal(Context context, int textId) { if (mToast == null && LetvApplication.getInstance() != null) { mToast = Toast.makeText(LetvApplication.getInstance(), "", Toast.LENGTH_SHORT); } mToast.setDuration(Toast.LENGTH_SHORT); mToast.setText(textId); mToast.show(); } public static void notifyLongNormal(Context context, String text) { if (mToast == null && LetvApplication.getInstance() != null) { mToast = Toast.makeText(LetvApplication.getInstance(), "", Toast.LENGTH_SHORT); } mToast.setDuration(Toast.LENGTH_LONG); mToast.setText(text); mToast.show(); } public static void notifyLongNormal(Context context, int textId) { if (mToast == null && LetvApplication.getInstance() != null) { mToast = Toast.makeText(LetvApplication.getInstance(), "", Toast.LENGTH_SHORT); } mToast.setDuration(Toast.LENGTH_LONG); mToast.setText(textId); mToast.show(); } public static void changeTimeState(TextView v) { if (v != null) { Calendar mCalendar = Calendar.getInstance(); mCalendar.setTimeInMillis(System.currentTimeMillis()); int hour = mCalendar.get(Calendar.HOUR_OF_DAY); int minite = mCalendar.get(Calendar.MINUTE); v.setText(LetvUtil.getStringTwo(String.valueOf(hour)) + ":" + LetvUtil.getStringTwo(String.valueOf(minite))); } } public static void changeNetState(Context context, View v) { if (v != null) { switch (NetWorkTypeUtils.getNetType()) { case NetWorkTypeUtils.NETTYPE_NO: v.setBackgroundResource(R.drawable.net_no); break; case NetWorkTypeUtils.NETTYPE_WIFI: v.setBackgroundResource(R.drawable.net_wifi); break; case NetWorkTypeUtils.NETTYPE_2G: v.setBackgroundResource(R.drawable.net_2g); break; case NetWorkTypeUtils.NETTYPE_3G: v.setBackgroundResource(R.drawable.net_3g); break; default: break; } } } public static void changeBatteryState(int status, int value, View v) { if (v != null) { boolean isCharging = false; switch (status) { case BatteryManager.BATTERY_STATUS_CHARGING:// 充电状态 isCharging = true; break; case BatteryManager.BATTERY_STATUS_DISCHARGING:// 放电状态 break; case BatteryManager.BATTERY_STATUS_NOT_CHARGING:// 未充电 break; case BatteryManager.BATTERY_STATUS_FULL:// 充满电 break; case BatteryManager.BATTERY_STATUS_UNKNOWN:// 未知状态 break; default: break; } if (isCharging) { v.setBackgroundResource(R.drawable.battery_charge); } else { if (value >= 80) { v.setBackgroundResource(R.drawable.battery5); } else if (value >= 60) { v.setBackgroundResource(R.drawable.battery4); } else if (value >= 40) { v.setBackgroundResource(R.drawable.battery3); } else if (value >= 20) { v.setBackgroundResource(R.drawable.battery2); } else if (value >= 0) { v.setBackgroundResource(R.drawable.battery1); } } } } /** * 4.0 点击隐藏导航栏 * * @param activity */ public static void setFullscreenCompatibility(Activity activity) { // if ("Galaxy Nexus".equals(Build.MODEL.trim())); // try { // Object localObject1 = View.class.getDeclaredField( // "SYSTEM_UI_FLAG_HIDE_NAVIGATION").get(View.class); // Class[] localObject2 = new Class[1]; // localObject2[0] = Integer.TYPE; // Method localMethod = View.class.getMethod("setSystemUiVisibility", // localObject2); // View view = activity.getWindow().getDecorView(); // Object[] arrayOfObject = new Object[1]; // arrayOfObject[0] = localObject1; // localMethod.invoke(view, arrayOfObject); // return; // } catch (InvocationTargetException localInvocationTargetException) { // } catch (NoSuchMethodException localNoSuchMethodException) { // } catch (IllegalAccessException localIllegalAccessException) { // } catch (NoSuchFieldException localNoSuchFieldException) { // } catch (IllegalArgumentException localIllegalArgumentException) { // } catch (SecurityException localSecurityException) { // } catch (Exception e) { // } } public static void changeSoundState(int value, int maxValue, ImageView v) { if (v != null) { if (value >= maxValue / 3 * 2) { v.setImageResource(R.drawable.sound_three); } else if (value >= maxValue / 3) { v.setImageResource(R.drawable.sound_two); } else if (value > 0) { v.setImageResource(R.drawable.sound_one); } else { v.setImageResource(R.drawable.sound_zero); } } } public static void call(Activity activity, int messageId, DialogInterface.OnClickListener yes) { if (activity == null) { return; } Dialog dialog = new AlertDialog.Builder(activity).setTitle(R.string.dialog_default_title).setIcon(R.drawable.dialog_icon).setMessage(messageId) .setPositiveButton(R.string.dialog_default_ok, yes).create(); if (!activity.isFinishing() && !activity.isRestricted()) { dialog.show(); } } public static boolean call(Activity activity, int messageId, int yes, int no, DialogInterface.OnClickListener yesListener, DialogInterface.OnClickListener noListener, View view, boolean cancelable) { if (activity == null) { return false; } Dialog dialog = new AlertDialog.Builder(activity).setTitle(R.string.dialog_default_title).setIcon(R.drawable.dialog_icon).setMessage(messageId) .setCancelable(cancelable).setView(view).setPositiveButton(yes, yesListener).setNegativeButton(no, noListener).create(); if (!activity.isFinishing() && !activity.isRestricted()) { dialog.show(); return true; } return false; } public static void call(Activity activity, int messageId,DialogInterface.OnClickListener yesListener, DialogInterface.OnClickListener noListener) { if (activity == null) { return; } Dialog dialog = new AlertDialog.Builder(activity).setTitle(R.string.dialog_default_title).setIcon(R.drawable.dialog_icon).setMessage(messageId) .setPositiveButton(R.string.dialog_default_ok, yesListener).setNegativeButton(R.string.dialog_default_no, noListener).create(); if (!activity.isFinishing() && !activity.isRestricted()) { dialog.show(); } } public static void call(Activity activity, int messageId, int yes, int no, DialogInterface.OnClickListener yesListener, DialogInterface.OnClickListener noListener) { if (activity == null) { return; } Dialog dialog = new AlertDialog.Builder(activity).setTitle(R.string.dialog_default_title).setIcon(R.drawable.dialog_icon).setMessage(messageId) .setPositiveButton(yes, yesListener).setNegativeButton(no, noListener).create(); if (!activity.isFinishing() && !activity.isRestricted()) { dialog.show(); } } public static void call(Activity activity, int title, int messageId, int yes, DialogInterface.OnClickListener yesListener, boolean cancelable) { if (activity == null) { return; } Dialog dialog = new AlertDialog.Builder(activity).setTitle(title).setIcon(R.drawable.dialog_icon).setMessage(messageId).setCancelable(cancelable) .setPositiveButton(yes, yesListener).create(); if (!activity.isFinishing() && !activity.isRestricted()) { dialog.show(); } } public static void call(Context activity, String title, String message, int yes, int no, DialogInterface.OnClickListener yesListener, DialogInterface.OnClickListener noListener, boolean cancelable) { if (activity == null) { return; } Dialog dialog = new AlertDialog.Builder(activity).setTitle(title).setIcon(R.drawable.dialog_icon).setMessage(message).setCancelable(cancelable) .setPositiveButton(yes, yesListener).setNegativeButton(no, noListener).create(); if (activity instanceof Activity) { if (!((Activity) activity).isFinishing() && !activity.isRestricted()) { dialog.show(); } } } // public static void call(Activity activity, String message, DialogInterface.OnClickListener yes) { if (activity == null) { return; } Dialog dialog = new AlertDialog.Builder(activity).setTitle(R.string.dialog_default_title).setIcon(R.drawable.dialog_icon).setMessage(message) .setPositiveButton(R.string.dialog_default_ok, yes).create(); if (!activity.isFinishing() && !activity.isRestricted()) { dialog.show(); } } // public static void call(Activity activity, String message, DialogInterface.OnClickListener yes, boolean cancelable) { if (activity == null) { return; } Dialog dialog = new AlertDialog.Builder(activity).setTitle(R.string.dialog_default_title).setIcon(R.drawable.dialog_icon).setMessage(message) .setPositiveButton(R.string.dialog_default_ok, yes).create(); dialog.setCancelable(cancelable); if (!activity.isFinishing() && !activity.isRestricted()) { dialog.show(); } } /** * 弹出的dialog(只有一个确定键) * * @param activity * @param dialogTitle * 弹框的title 用系统默认传-1 * @param dialogMsg * 弹框的messaget * @param yes */ public static void callDialogMsgPositiveButton(Activity activity, int dialogTitle, int dialogMsg, DialogInterface.OnClickListener yes) { String title = (dialogTitle == -1 ? null : activity.getResources().getString(dialogTitle)); String message = activity.getResources().getString(dialogMsg); Dialog dialog = new AlertDialog.Builder(activity).setTitle( /* dialogMsgByMsg.title */(!"".equals(dialogTitle) && title != null) ? title : activity.getString(R.string.dialog_default_title)) .setIcon(R.drawable.dialog_icon).setMessage(message).setPositiveButton(R.string.dialog_default_ok, yes).create(); if (!activity.isFinishing() && !activity.isRestricted()) { dialog.show(); } } /** * 弹出的dialog(带两个Button) * * @param activity * @param dialogTitle * 标题 使用默认值传 -1 * @param dialogMsg * 内容信息 * @param yes * 确定键显示的值,使用默认值传 -1 * @param yesBtnRes * @param no * 取消键显示的值,使用默认值传 -1 * @param noBtnRes */ public static void callDialogMsgPositiveNegtivButton(Activity activity, int dialogTitle, String dialogMsg, DialogInterface.OnClickListener yes, int yesBtnRes, DialogInterface.OnClickListener no, int noBtnRes) { String title = (dialogTitle == -1 ? null : activity.getResources().getString(dialogTitle)); Dialog dialog = new AlertDialog.Builder(activity).setTitle( /* dialogMsgByMsg.title */(!"".equals(dialogTitle) && title != null) ? title : activity.getString(R.string.dialog_default_title)) .setIcon(R.drawable.dialog_icon).setMessage(dialogMsg).setPositiveButton(-1 == yesBtnRes ? R.string.dialog_default_ok : yesBtnRes, yes) .setNegativeButton(-1 == noBtnRes ? R.string.dialog_default_no : noBtnRes, no).create(); if (!activity.isFinishing() && !activity.isRestricted()) { dialog.show(); } } // ======================================================================================================== // // -----------------------** 客户端dialog数据服务端化-----START public static void callDialogMsgPositiveButton(Activity activity, String msgId, DialogInterface.OnClickListener yes) { MessageBean dialogMsgByMsg = DBManager.getInstance().getDialogMsgTrace().getDialogMsgByMsgId(msgId); if (activity == null || dialogMsgByMsg == null) { return; } Dialog dialog = new AlertDialog.Builder(activity) .setTitle( (!"".equals(dialogMsgByMsg.title) && dialogMsgByMsg.title != null) ? dialogMsgByMsg.title : activity .getString(R.string.dialog_default_title)).setIcon(R.drawable.dialog_icon).setMessage(dialogMsgByMsg.message) .setPositiveButton(R.string.dialog_default_ok, yes).create(); if (!activity.isFinishing() && !activity.isRestricted()) { dialog.show(); } } // public static void callDialogMsgPositiveButton(Activity activity, String msgId, int yes, DialogInterface.OnClickListener yesListener, DialogInterface.OnKeyListener onKeyListener) { MessageBean dialogMsgByMsg = DBManager.getInstance().getDialogMsgTrace().getDialogMsgByMsgId(msgId); if (activity == null || dialogMsgByMsg == null) { return; } Dialog dialog = new AlertDialog.Builder(activity) .setTitle( (!"".equals(dialogMsgByMsg.title) && dialogMsgByMsg.title != null) ? dialogMsgByMsg.title : activity .getString(R.string.dialog_default_title)).setOnKeyListener(onKeyListener).setIcon(R.drawable.dialog_icon) .setMessage(dialogMsgByMsg.message).setPositiveButton(yes, yesListener).create(); if (!activity.isFinishing() && !activity.isRestricted()) { dialog.show(); } } // public static void callDialogMsgPosNeg(Activity activity, String msgId, int yes, int no, DialogInterface.OnClickListener yesListener, DialogInterface.OnClickListener noListener) { MessageBean dialogMsgByMsg = DBManager.getInstance().getDialogMsgTrace().getDialogMsgByMsgId(msgId); if (activity == null || dialogMsgByMsg == null) { return; } Dialog dialog = new AlertDialog.Builder(activity) .setTitle( (!"".equals(dialogMsgByMsg.title) && dialogMsgByMsg.title != null) ? dialogMsgByMsg.title : activity .getString(R.string.dialog_default_title)).setIcon(R.drawable.dialog_icon).setMessage(dialogMsgByMsg.message) .setCancelable(false).setPositiveButton(yes, yesListener).setNegativeButton(no, noListener).create(); if (!activity.isFinishing() && !activity.isRestricted()) { dialog.show(); } } public static boolean callDialogMsgPosNeg(Activity activity, String msgId, int yes, int no, DialogInterface.OnClickListener yesListener, DialogInterface.OnClickListener noListener, View view, boolean cancelable) { MessageBean dialogMsgByMsg = DBManager.getInstance().getDialogMsgTrace().getDialogMsgByMsgId(msgId); if (activity == null || dialogMsgByMsg == null) { return false; } Dialog dialog = new AlertDialog.Builder(activity) .setTitle( (!"".equals(dialogMsgByMsg.title) && dialogMsgByMsg.title != null) ? dialogMsgByMsg.title : activity .getString(R.string.dialog_default_title)).setView(view).setCancelable(cancelable).setIcon(R.drawable.dialog_icon) .setMessage(dialogMsgByMsg.message).setPositiveButton(yes, yesListener).setNegativeButton(no, noListener).create(); if (!activity.isFinishing() && !activity.isRestricted()) { dialog.show(); return true; } return false; } // public static void callDialogMsgPosNegDefault(Activity activity, String msgId, DialogInterface.OnClickListener yes, DialogInterface.OnClickListener no) { MessageBean dialogMsgByMsg = DBManager.getInstance().getDialogMsgTrace().getDialogMsgByMsgId(msgId); if (activity == null || dialogMsgByMsg == null) { return; } Dialog dialog = new AlertDialog.Builder(activity) .setTitle( (!"".equals(dialogMsgByMsg.title) && dialogMsgByMsg.title != null) ? dialogMsgByMsg.title : activity .getString(R.string.dialog_default_title)).setIcon(R.drawable.dialog_icon).setMessage(dialogMsgByMsg.message) .setPositiveButton(R.string.dialog_default_ok, yes).setNegativeButton(R.string.dialog_default_no, no).create(); if (!activity.isFinishing() && !activity.isRestricted()) { try { dialog.show(); } catch (Exception e) { e.printStackTrace(); } } } // public static void callDialogMsgPosNegCancel(Activity activity, String // msgId, int yes, int no, // DialogInterface.OnClickListener yesListener, // DialogInterface.OnClickListener noListener, boolean cancelable, String... // messageWhichs) { // Dialog dialog = null; // MessageBean dialogMsgByMsg = DBManager.getInstance().getDialogMsgTrace() // .getDialogMsgByMsgId(msgId); // dialog = new AlertDialog.Builder(activity) // .setTitle(activity.getString(R.string.dialog_default_title)) // .setMessage( // activity.getString(R.string.share_binding) + messageWhichs[0] // + activity.getString(R.string.share_remove_binding_dialog) // + messageWhichs[0] + "。").setCancelable(cancelable) // .setPositiveButton(no, noListener).setNegativeButton(yes, // yesListener).create(); // if (!activity.isFinishing() && !activity.isRestricted()) { // dialog.show(); // } // } public static void callDialogMsgPosNegCancel(Activity activity, String msgId, int yes, int no, DialogInterface.OnClickListener yesListener, DialogInterface.OnClickListener noListener, boolean cancelable, String... messageWhichs) { Dialog dialog = null; MessageBean dialogMsgByMsg = DBManager.getInstance().getDialogMsgTrace().getDialogMsgByMsgId(msgId); if (activity == null || dialogMsgByMsg == null) { return; } if (dialogMsgByMsg.message.contains("%1$s")) { dialog = new AlertDialog.Builder(activity) .setTitle( /* dialogMsgByMsg.title */(!"".equals(dialogMsgByMsg.title) && dialogMsgByMsg.title != null) ? dialogMsgByMsg.title : activity .getString(R.string.dialog_default_title)).setMessage(String.format(dialogMsgByMsg.message, messageWhichs)) .setCancelable(cancelable).setPositiveButton(yes, yesListener).setNegativeButton(no, noListener).create(); } else { dialog = new AlertDialog.Builder(activity) .setTitle( /* dialogMsgByMsg.title */(!"".equals(dialogMsgByMsg.title) && dialogMsgByMsg.title != null) ? dialogMsgByMsg.title : activity .getString(R.string.dialog_default_title)).setMessage(dialogMsgByMsg.message).setCancelable(cancelable) .setPositiveButton(yes, yesListener).setNegativeButton(no, noListener).create(); } if (!activity.isFinishing() && !activity.isRestricted()) { dialog.show(); } } /** * 显示小提示 */ public static void showToast(String text) { if (mToast != null) { mToast.cancel(); } mToast = Toast.makeText(LetvApplication.getInstance(), text, Toast.LENGTH_SHORT); mToast.setText(text); mToast.setDuration(Toast.LENGTH_SHORT); mToast.show(); } public static void showToast(int txtId) { if (mToast != null) { mToast.cancel(); } mToast = Toast.makeText(LetvApplication.getInstance(), txtId, Toast.LENGTH_SHORT); mToast.setText(txtId); mToast.setGravity(Gravity.CENTER, 0, 0); mToast.setDuration(Toast.LENGTH_SHORT); mToast.show(); } public static void notifyLong(Context context, String text) { if (LetvApplication.getInstance() != null) { mLetvToast = new LetvToast(LetvApplication.getInstance()); mLetvToast.setDuration(Toast.LENGTH_LONG); } mLetvToast.setErr(false); mLetvToast.setMsg(text); mLetvToast.show(); } public static void notifyLong(Context context, int textId) { if (LetvApplication.getInstance() != null) { mLetvToast = new LetvToast(LetvApplication.getInstance()); mLetvToast.setDuration(Toast.LENGTH_LONG); } mLetvToast.setErr(false); mLetvToast.setMsg(textId); mLetvToast.show(); } /** * public static void showToast(int txtId) { mToast = * Toast.makeText(LetvApplication.getInstance(), txtId, Toast.LENGTH_SHORT); * mToast.setText(txtId); mToast.setGravity(Gravity.CENTER, 0, 0); * mToast.setDuration(Toast.LENGTH_SHORT); mToast.show(); } * * /** 隐藏键盘输入法 * * @param mActivity */ public static void hideSoftkeyboard(Activity mActivity) { if (null != mActivity && null != mActivity.getCurrentFocus()) { InputMethodManager mInputMethodManager = (InputMethodManager) mActivity.getSystemService(Context.INPUT_METHOD_SERVICE); if (null != mInputMethodManager) { mInputMethodManager.hideSoftInputFromWindow(mActivity.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); } } } /** * 加载资源文件图片 * */ public static Drawable loadResourcesDrawable(Context context, int resourcesId) { return Drawable.createFromStream(context.getResources().openRawResource(resourcesId), null); } /** * 加载资源文件图片 * */ public static Bitmap loadResourcesBitmap(Context context, int resourcesId) { return BitmapFactory.decodeStream(context.getResources().openRawResource(resourcesId)); } /** * 加载资源文件图片 * */ public static void recycleBitmap(Bitmap bitmap) { if (bitmap != null && !bitmap.isRecycled()) { bitmap.recycle(); } bitmap = null; } /** * 加载资源文件图片 * */ public static void recycleDrawable(Drawable drawable) { if (drawable != null) { drawable.setCallback(null); } drawable = null; } }