1. 开关高度最好不要用wrap_content 点击范围太小,不灵敏;
2. EditText当输入内容不符合要求时,主动弹出软盘并光标在最后让用户重新输入
needleNameEdit.setFocusable(true);
needleNameEdit.setFocusableInTouchMode(true);
needleNameEdit.requestFocus();
needleNameEdit.setSelection(needleNameEdit.getText().toString().length());
InputMethodManager inputManager =
(InputMethodManager)needleNameEdit.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInput(needleNameEdit, 0);
当在onCreate()中或者在editText.setVisibility(View.Visible)弹出键盘时 此时键盘不会弹出 需要使用延时来处理。
editText.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager imm = (InputMethodManager) editText.getContext().getSystemService(Context
.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, 0);
}
}, 200);
3. 设置自定义字体
AssetManager mgr = getAssets();
Typeface fontFace = Typeface.createFromAsset(mgr, "fonts/weac_slogan.ttf");
TextView SloganTv = (TextView) findViewById(R.id.weac_slogan_tv);
SloganTv.setTypeface(fontFace);
4.Gson解析List数据
Gson gson = new Gson();
Type type = new TypeToken<List<Object>>() {}.getType();
List<Object> list = gson.fromJson(jsonlist, type);
//Json的解析类对象
JsonParser parser = new JsonParser();
//将JSON的String 转成一个JsonArray对象
JsonArray jsonArray = parser.parse(jsonlist).getAsJsonArray();
Gson gson = new Gson();
ArrayList<Object> list= new ArrayList<>();
//加强for循环遍历JsonArray
for (JsonElement item: jsonArray) {
//使用GSON,直接转成Bean对象
Object ob= gson.fromJson(item, Object.java;
list.add(userBean);
}
5. 获取当年Fragment
// 方法一
Fragment current = getSupportFragmentManager().findFragmentById(R.id.contain);
//方法二
FragmentManager fragmentManager = getSupportFragmentManager();
List<Fragment> fragments = fragmentManager.getFragments();
for (Fragment fragment : fragments) {
if (fragment != null && fragment.isVisible()){
return fragment;
}
}
6. 打印csdn文章
//步骤 1:去掉文章详情页除文章内容外的内容
(function(){
$("#side").remove();
$("#comment_title, #comment_list, #comment_bar, #comment_form, .announce, #ad_cen, #ad_bot").remove();
$(".nav_top_2011, #header, #navigator").remove();
$(".p4course_target, .comment-box, .recommend-box, #csdn-toolbar, #tool-box").remove();
$("aside").remove();
$(".tool-box").remove();
$("main").css('display','content');
$("main").css('float','left');
$("tool-box").remove();
})();
// 步骤 2:选中需要打印的内容Ctrl+A
//步骤 3:打印(Chrome:Ctrl+p)
7. 获取状态栏高度
private int getStatusBarHeight() {
try {
Class<?> c = Class.forName("com.android.internal.R$dimen");
Object obj = c.newInstance();
Field field = c.getField("status_bar_height");
int x = Integer.parseInt(field.get(obj).toString());
return getResources().getDimensionPixelSize(x);
} catch (Exception e) {
e.printStackTrace();
}
return 0;
}