Android开发经验总结

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;
   }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值