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);
    }
}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。