• 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);
        }
    }
  • 相关阅读:
    AVFrame中data与linesize关系
    使用gprof2dot和graphivz生成程序运行调用图
    C/C++ 数组复制
    32位和64位系统区别及int字节数
    ffmpeg中AVPacket与AVFrame中数据的传递与释放
    C/C++输入一行每隔一个空格一个数据
    为什么软件项目需要架构设计?
    绘制函数调用图(call graph):doxygen + graphviz
    复制解码的 ffmpeg AVFrame
    360文档卫士——防勒索,通过即时的预警监测机制,360文档卫士能够“自动备份”您的文档。只要“监测到文档产生任何编辑或动作”,360文档卫士便会!!自动存取!!最新版本
  • 原文地址:https://www.cnblogs.com/ccddy/p/3965758.html
Copyright © 2020-2023  润新知