- 剪切板复制、粘贴
ClipboardManager clip = (ClipboardManager) context
.getSystemService(Context.CLIPBOARD_SERVICE);
clip.setText(string);
clip.getText();
- 设置窗体透明度
Window window = ((Activity)context).getWindow()
WindowManager.LayoutParams lp = window.getAttributes()
lp.alpha = bgAlpha
window.setAttributes(lp)
- 输入法
InputMethodManager inputManager = ((InputMethodManager)context
.getSystemService(Context.INPUT_METHOD_SERVICE))
// 隐藏输入框
inputManager.hideSoftInputFromWindow(paramEditText.getWindowToken(), 0)
// 显示输入框
inputManager.showSoftInput(paramEditText, InputMethodManager.SHOW_FORCED)
- 贴上一个监听软键盘收起还是打开
findViewById(R.id.ll_main_content).getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Rect r = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(r);
int mScreenHeight = getWindowHeight(ActivityCommentInput.this);
int heightDifference = mScreenHeight - (r.bottom - r.top);
boolean isKeyboardShowing = heightDifference > mScreenHeight / 3;
if (isKeyboardShowing) {
btn_layout.animate().translationY(-heightDifference + UnitSociax.getDecorViewHeight(ActivityCommentInput.this)).setDuration(0).start();
} else {
btn_layout.animate().translationY(0).start();
}
}
});
public int getWindowHeight(Context context){
return context.getResources().getDisplayMetrics().heightPixels
}
/**
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
*/
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
/**
* 根据手机的分辨率从 px(像素) 的单位 转成为 dp
*/
public static int px2dip(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}
/**
* 将px值转换为sp值,保证文字大小不变
*
* @param pxValue
* @param context (DisplayMetrics类中属性scaledDensity)
* @return
*/
public static int px2sp(Context context, float pxValue) {
final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
return (int) (pxValue / fontScale + 0.5f);
}
/**
* 将sp值转换为px值,保证文字大小不变
*
* @param spValue
* @param context (DisplayMetrics类中属性scaledDensity)
* @return
*/
public static int sp2px(Context context, float spValue) {
final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
return (int) (spValue * fontScale + 0.5f);
}
/**
* 根据资源的名字获取它的ID
*
* @param name 要获取的资源的名字
* @param defType 资源的类型,如drawable, string 。。。
* @return 资源的id
*/
public static int getResId(Context context, String name, String defType) {
String packageName = context.getApplicationInfo().packageName;
return context.getResources().getIdentifier(name, defType, packageName);
}
/**
* 基本功能:过滤所有以"<"开头以">"结尾的标签
*
* @param str
* @return String
*/
public static String filterHtml(String str) {
if (str == null) {
return "";
}
String regxpForHtml = "<([^>]*)>";
Pattern pattern = Pattern.compile(regxpForHtml);
Matcher matcher = pattern.matcher(str);
StringBuffer sb = new StringBuffer();
boolean result1 = matcher.find();
while (result1) {
matcher.appendReplacement(sb, "");
result1 = matcher.find();
}
matcher.appendTail(sb);
return sb.toString();
}