zoukankan      html  css  js  c++  java
  • android之界面一些操作

    转自火星某位幽灵幽灵幽灵

    包括:     ①、获取屏幕尺寸

                   ②、隐藏EditText键盘

                   ③、打开键盘

                   ④、关闭键盘

                   ⑤、根据手机的分辨率从dp的单位转成px(像素)

                   ⑥、根据手机的分辨率从px(像素)的单位转成dp

    import android.app.Activity;
    import android.content.Context;
    import android.text.InputType;
    import android.util.DisplayMetrics;
    import android.view.MotionEvent;
    import android.view.inputmethod.InputMethodManager;
    import android.widget.EditText;
    
    /**
     * @name ViewHelper
     * @description 常用的系统控件操作,与业务相关
     * @author max
     * @date 2012-12-11
     * 
     */
    public class ViewHelper {
    
        /**
         * 取得屏幕尺寸 add by max [2013-1-21]
         * 
         * @param activity
         * @return
         */
        public static DisplayMetrics getDisplayMetrics(Activity activity) {
            DisplayMetrics dm = new DisplayMetrics();
            activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
            return dm;
        }
        /**
         * 取得屏幕尺寸 add by max [2013-5-11]
         * 
         * @param context
         * @return
         */
        public static DisplayMetrics getDisplayMetrics(Context context) {
            DisplayMetrics dm = context.getResources().getDisplayMetrics();
            return dm;
        }
    
        /**
         * 隐藏EditeText键盘 {@code} setOnTouchListener(new OnTouchListener() { public
         * boolean onTouch(View v, MotionEvent event) { return true;
         * 
         * @param et
         *            EditeText
         */
        public static void hiddenKeyboard(EditText et, MotionEvent event) {
            int inType = et.getInputType();
            et.setInputType(InputType.TYPE_NULL);
            et.onTouchEvent(event);
            et.setInputType(inType);
            et.setSelection(et.getText().length());
        }
    
        /**
         * 打开键盘 add by max [2013-8-11]
         */
        public static void openKeyboard(final Context context) {
            InputMethodManager imm = (InputMethodManager) context
                    .getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
        }
        /**
         * 关闭键盘 add by max [2013-7-2]
         * 
         * @param context
         * @param etInput
         */
        public static void closeKeyboard(Activity activity) {
            InputMethodManager inputManager = (InputMethodManager) activity
                    .getSystemService(Context.INPUT_METHOD_SERVICE);
            inputManager.hideSoftInputFromWindow(activity.getCurrentFocus()
                    .getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
        }
    
        /**
         * 根据手机的分辨率从 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);
        }
    }
  • 相关阅读:
    在SQLite中使用索引优化查询速度
    SQLite支持的SQL数据操作
    left (outer) join , right (outer) join, full (outer) join, (inner) join, cross join 区别
    深入理解Android内存管理原理(六)
    Merge Sorted Array
    Sort Colors
    Construct Binary Tree from Preorder and Inorder Traversal
    Binary Tree Postorder Traversal
    Symmetric Tree
    Rotate Image
  • 原文地址:https://www.cnblogs.com/ccddy/p/3965758.html
Copyright © 2011-2022 走看看