码迷,mamicode.com
首页 > 移动开发 > 详细

android之界面一些操作

时间:2014-09-11 10:52:41      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:des   android   style   blog   http   color   io   os   ar   

转自火星某位bubuko.com,布布扣bubuko.com,布布扣bubuko.com,布布扣

包括:     ①、获取屏幕尺寸

               ②、隐藏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);
    }
}

android之界面一些操作

标签:des   android   style   blog   http   color   io   os   ar   

原文地址:http://www.cnblogs.com/ccddy/p/3965758.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!