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);
        }
    }
  • 相关阅读:
    杭电 Problem
    杭电Problem 5053 the sum of cube 【数学公式】
    杭电 Problem 2089 不要62 【打表】
    杭电 Problem 4548 美素数【打表】
    杭电 Problem 2008 分拆素数和 【打表】
    杭电 Problem 1722 Cake 【gcd】
    杭电 Problem 2187 悼念512汶川大地震遇难同胞——老人是真饿了【贪心】
    杭电Problem 1872 稳定排序
    杭电 Problem 1753 大明A+B
    东北林业大 564 汉诺塔
  • 原文地址:https://www.cnblogs.com/ccddy/p/3965758.html
Copyright © 2011-2022 走看看