首先,有一点需要声明,其实在android中,画布Canvas的高宽其实是屏幕的高宽。

如此一来,获得屏幕高宽的方法就很多了:

1.

WindowManager windowManager = getWindowManager();

Display display = windowManager.getDefaultDisplay();

screenWidth = display.getWidth();

screenHeight = display.getHeight();

2.

DisplayMetrics dm = new DisplayMetrics();

this.getWindowManager().getDefaultDisplay().getMetrics(dm);//this指当前activity

screenWidth =dm.widthPixels;

screenHeight =dm.heightPixels;

以上两种方法在屏幕未显示的时候,还是处于0的状态,即要在setContentView调用之后才有效。

3.

还可以在onDraw中由canvas来获得

screenWidth =canvas.getWidth();

screenHeight =canvas.getHeight();

而视图的高宽则是大多数人所认为的canvas的高宽,其实他所指的是除了任务栏和状态栏的高宽,主要有如下方法:

1.

viewWidth=this.getWidth();

viewHeight=this.getHeight();

2.重写view的onSizeChanged,该方法会在onCreate之后,onDraw之前调用

protected void onSizeChanged(int w, int h, int oldw, int oldh) {
viewHeight=h;
viewWidth=w;
super.onSizeChanged(w, h, oldw, oldh);
}

任务栏、状态栏的高宽的高宽我目前还不清楚,不过从网上查找可知:

frameworks/core/res/values/themes.xml
<item name="windowTitleSize">25dip</item> frameworks/core/res/values/dimens.xml <dimen name="status_bar_height">25dip</dimen>

在一个activity中如果要获取高宽,最好是放在onSizeChanged中比较保险。

以上是我对android获得高宽的一点总结,如果有错误的地方,欢迎留言探讨。

另外,还有对屏幕显示的一些设置:

//设置为无标题

requestWindowFeature(Window.FEATURE_NO_TITLE);

//设置为全屏模式getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

//设置为横屏

setRequesteOrientation(ActivityInfo.SCREEN_ORIENTATION_LADSCAPE);

转载 http://www.zmkm.info/?p=41

更多相关文章

  1. android TabHost(选项卡)的使用方法
  2. Android使用系统方法实现分享到QQ和微信!
  3. Android多种方法获取系统时间
  4. intelliJ IDEA 创建maven android工程的方法
  5. 关于android的屏幕常亮和完全关闭程序
  6. Android5.1系统通过包名给应用开放系统权限的方法
  7. Android MP4取得播放时长的方法
  8. Android中执行java命令的方法及java代码执行并解析shell命令
  9. Android 导入项目时报Android.jar包丢失解决方法

随机推荐

  1. Android之TextView的样式类Span的使用具
  2. 谷歌正式推出官方“Android界面设计”网
  3. Android UI用户界面开发辅助工具(值得一试
  4. 国内最全的android软件商店 应用市场 汇
  5. Android输入系统之InputChannel(下)
  6. Android Studio 100 tips and tricks
  7. Android中如何解析JSON数据
  8. [置顶] wzplayer player (android,windows
  9. Android(安卓)layout_weight用法图解
  10. Android查询/设置Settings的值