/* ******************************************* * File: WidgetTools.java * Author: Lijc * Date: 2015-3-20 * Company: BlueMobi ********************************************/ package com.fenghoo.seven.utils; import android.app.Activity; import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Paint; import android.text.Editable; import android.text.Selection; import android.text.Spannable; import android.text.SpannableString; import android.text.TextUtils; import android.text.TextWatcher; import android.text.style.ImageSpan; import android.util.DisplayMetrics; import android.util.SparseArray; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.RadioButton; import android.widget.TextView; import android.widget.Toast; /** * * @ClassName: WidgetTools * @Description: TODO(描述: Widget工具类) * @author Lijc * @Company: BlueMobi * @date 2015年4月3日 下午6:04:29 * @version V1.0 *
* >>>使用说明: *
* 1.setText()可用于TextView,Button,CheckBox,RadioButton,EditText; *
* 2.setUnderline() 在文字下面设置下划线 *
* 3.setDeleteline() 在文字上设置删除线 *
* 4.getText() 获取文字 *
* 5.get() ViewHolder 简洁模式 *
* 6.spanText() 文字前面插入图片 *
* 7.DisplayImage()获取设置图片 *
* 8.formatMoney() 格式化显示金额 *
* 9.getAppCode() 获取版本code
*/
public class ToolsUtils {
private static long lastClickTime;
/**
* 连续点击
*
* @return
*/
public static boolean isFastDoubleClick() {
long time = System.currentTimeMillis();
long timeD = time - lastClickTime;
if (0 < timeD && timeD < 1000) {
return true;
}
lastClickTime = time;
return false;
}
/**
* @Title: getText @Description: TODO @param tv @param text @return
* void @throws
*/
public static String getText(View v) {
if (v instanceof TextView) {// TextView
return ((TextView) v).getText().toString();
}
if (v instanceof Button) {// Button
return ((Button) v).getText().toString();
}
if (v instanceof CheckBox) {// CheckBox
return ((CheckBox) v).getText().toString();
}
if (v instanceof RadioButton) {// RadioButton
return ((RadioButton) v).getText().toString();
}
if (v instanceof EditText) {// EditText
return ((EditText) v).getText().toString();
}
return "";
}
/**
* @Title: setText @Description: TODO 设置TextView的text 为空时默认显示 -- @param
* tv @param text @return void @throws
*/
public static void setText(View v, String text) {
setText(v, text, "");
}
/**
* @Title: setText @Description: TODO 设置TextView的text @param tv @param
* text @param defaultText 默认显示 @return void @throws
*/
public static void setText(View v, String text, String defaultText) {
if (TextUtils.isEmpty(text))
text = defaultText;
if (v instanceof TextView) {// TextView
((TextView) v).setText(text);
return;
}
if (v instanceof Button) {// Button
((Button) v).setText(text);
return;
}
if (v instanceof CheckBox) {// CheckBox
((CheckBox) v).setText(text);
return;
}
if (v instanceof RadioButton) {// RadioButton
((RadioButton) v).setText(text);
return;
}
if (v instanceof EditText) {// EditText
((EditText) v).setText(text);
return;
}
}
/**
* @Title: setText @Description: TODO String资源文件的format方法 @param @param
* tv @param @param context @param @param text @param @param
* resId @return void @throws
*/
public static void setText(View v, Context context, String text, int resId) {
String format = context.getResources().getString(resId);
setText(v, String.format(format, text));
}
/**
* @Title: setText @Description: TODO String资源文件的format方法 @param tv @param
* context @param i @param resId @return void @throws
*/
public static void setText(View v, Context context, int i, int resId) {
String format = context.getResources().getString(resId);
setText(v, String.format(format, i));
}
/**
* @Title: setText @Description: TODO String资源文件的format方法 @param @param
* tv @param @param context @param @param text1 @param @param
* text2 @param @param resId @return void @throws
*/
public static void setText(View v, Context context, String text1, String text2, int resId) {
String format = context.getResources().getString(resId);
setText(v, String.format(format, text1, text2));
}
/**
* @Title: setText @Description: TODO String资源文件的format方法 @param @param
* tv @param @param context @param @param i1 @param @param
* i2 @param @param resId @return void @throws
*/
public static void setText(View v, Context context, int i1, int i2, int resId) {
String format = context.getResources().getString(resId);
setText(v, String.format(format, i1, i2));
}
/**
* @Title: setTextViewStyle @Description: TODO 优惠价格 @param tv @param
* text @return void @throws
*/
public static void setTextViewStyle(TextView tv) {
tv.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
}
/**
* @Title: setUnderline @Description: TODO 下划线 @param tv @param text @return
* void @throws
*/
public static void setUnderline(View v) {
if (v instanceof TextView) {// TextView
((TextView) v).getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
((TextView) v).getPaint().setAntiAlias(true);
return;
}
if (v instanceof Button) {// Button
((Button) v).getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
((Button) v).getPaint().setAntiAlias(true);
return;
}
if (v instanceof CheckBox) {// CheckBox
((CheckBox) v).getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
((CheckBox) v).getPaint().setAntiAlias(true);
return;
}
if (v instanceof RadioButton) {// RadioButton
((RadioButton) v).getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
((RadioButton) v).getPaint().setAntiAlias(true);
return;
}
if (v instanceof EditText) {// EditText
((EditText) v).getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
((EditText) v).getPaint().setAntiAlias(true);
return;
}
}
/**
* @Title: setDelline @Description: TODO 删除线 @param tv @param text @return
* void @throws
*/
public static void setDeleteline(View v) {
if (v instanceof TextView) {// TextView
((TextView) v).getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
((TextView) v).getPaint().setAntiAlias(true);
return;
}
if (v instanceof Button) {// Button
((Button) v).getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
((Button) v).getPaint().setAntiAlias(true);
return;
}
if (v instanceof CheckBox) {// CheckBox
((CheckBox) v).getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
((CheckBox) v).getPaint().setAntiAlias(true);
return;
}
if (v instanceof RadioButton) {// RadioButton
((RadioButton) v).getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
((RadioButton) v).getPaint().setAntiAlias(true);
return;
}
if (v instanceof EditText) {// EditText
((EditText) v).getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
((EditText) v).getPaint().setAntiAlias(true);
return;
}
}
/**
* @TODO ViewHodler简写模式
* @param view
* @param id
* @return
*/
public