android获取屏幕宽高与获取控件宽高 方法总结

获取屏幕的大小

public class AdaptationUtils {

	public AdaptationUtils() {
	}

	public static int screenWidth = 0;
	public static int screenHeigh = 0;

	/**
	 * 打印分辨率 和手机的类型
	 */
	public static void ShowDetial() {
		LogUtils.i(AdaptationUtils.getScreenWidth() + "--" + AdaptationUtils.getScreenHeigh() + "--"
				+ android.os.Build.MODEL);
	}

	/**
	 * 获取屏幕宽高
	 * 
	 * @return 0 为 宽 1 为 高
	 */
	public static int[] getScreenSize() {
		// 初始化字体
		// 获取当前屏幕 分辨率
		DisplayMetrics displayMetrics = new DisplayMetrics();
		WindowManager wm = (WindowManager) UIUtils.getContext().getSystemService(UIUtils.getContext().WINDOW_SERVICE);
		wm.getDefaultDisplay().getMetrics(displayMetrics);
		int screenWidth = displayMetrics.widthPixels;
		int screenHeigh = displayMetrics.heightPixels;
		setScreenWidth(screenWidth);
		setScreenHeigh(screenHeigh);
		return new int[] { displayMetrics.widthPixels, displayMetrics.heightPixels };
	}

	/**
	 * 获取宽度
	 * 
	 * @return
	 */
	public static int getScreenWidth() {
		if (screenWidth == 0) {
			return getScreenSize()[0];
		} else {
			return screenWidth;
		}
	}

	/**
	 * 设置宽度
	 * 
	 * @param screenWidth
	 */
	public static void setScreenWidth(int screenWidth) {
		AdaptationUtils.screenWidth = screenWidth;
		AppsDeviceParameters.screenWidth=screenWidth;
	}

	/**
	 * 获取高度
	 * 
	 * @return
	 */
	public static int getScreenHeigh() {
		if (screenWidth == 0) {
			return getScreenSize()[1];
		} else {
			return screenHeigh;
		}
	}

	/**
	 * 设置高度
	 * 
	 * @param screenHeigh
	 */
	public static void setScreenHeigh(int screenHeigh) {
		AdaptationUtils.screenHeigh = screenHeigh;
		AppsDeviceParameters.screenHeigh=screenHeigh;
	}}


获取控件的宽高

1.很简单直接 复用activity方法

@Override
	public void onWindowFocusChanged(boolean hasFocus) {
		// TODO Auto-generated method stub
		super.onWindowFocusChanged(hasFocus);
		System.out.println("dialog1:" + dialog1.getWidth());
	}
我基本用方法1

2. 很简单也

		mLastView.post(new Runnable() {
			@Override
			public void run() {
				int width=mLastView.getMeasuredWidth();
				int height=mLastView.getMeasuredHeight();
			}
		});

3 方法

 rl.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {

            //当键盘弹出隐藏的时候会 调用此方法。
            @Override
            public void onGlobalLayout() {
                rl.getHeight();
              
            }
        });


 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值