社区编辑申请
注册/登录
Android屏幕大小相关技巧应用指南
移动开发 Android
Android屏幕大小的改变方法多种多样,可以根据用户不同的需求来进行更改。我们在这篇文章中介绍的就是其中一个自适应更改的方法。

Android应用程序中屏幕大小的设置大家应该都比较清楚,不过如何才能让屏幕自己适应环境而改变大小呢?在这里我们就可以为大家详细介绍一下有关Android屏幕大小的自适应方式,帮助大家理解。

不同的Android target会有不同的大小,应用程序的界面需要针对不同的大小调整界面元素的尺寸。而且Android屏幕大小也可以在横屏和竖屏之间切换,界面也需要调整。

如何取得屏幕的方向:

默认情况下,当屏幕方面切换时,activity的onCreate()方法会被重新调用,所以可以在其中通过以下代码来读取屏的方向:

  1. view plaincopy to clipboardprint?  
  2. public void onCreate() {   
  3. if(this.getResources().getConfiguration()
    .orientation == Configuration.ORIENTATION_LANDSCAPE) {   
  4. Log.i("info", "landscape");   
  5. } else if (this.getResources().getConfiguration()
    .orientation == Configuration.ORIENTATION_PORTRAIT) {   
  6. Log.i("info", "portrait");   
  7. }   
  8. }   
  9. public void onCreate() {  
  10. if(this.getResources().getConfiguration()
    .orientation == Configuration.ORIENTATION_LANDSCAPE) {  
  11. Log.i("info", "landscape");  
  12. } else if (this.getResources().getConfiguration()
    .orientation == Configuration.ORIENTATION_PORTRAIT) {  
  13. Log.i("info", "portrait");  
  14. }  

如果在androidmanifest.xml中加入配置

  1. android:configChanges="orientation|keyboardHidden|navigation 

当屏幕翻转时,Activity就不会重复的调用onCreate()、onPause()和onResume().

而是调用onConfigurationChanged(Configuration newConfig)

如何取得Android屏幕大小:

  1. view plaincopy to clipboardprint?  
  2. int screenWidth,screenHeight;   
  3. WindowManager windowManager = getWindowManager();   
  4. Display display = windowManager.getDefaultDisplay();   
  5. screenWidth = display.getWidth();   
  6. screenHeight = display.getHeight();   
  7. int screenWidth,screenHeight;  
  8. WindowManager windowManager = getWindowManager();  
  9. Display display = windowManager.getDefaultDisplay();  
  10. screenWidth = display.getWidth();  
  11. screenHeight = display.getHeight();  

也有人提到另一种Android屏幕大小的更改方法:

  1. view plaincopy to clipboardprint?  
  2. DisplayMetrics dm = new DisplayMetrics();   
  3. getWindowManager().getDefaultDisplay().getMetrics(dm);   
  4. int screenWidth = dm.widthPixels;   
  5. int screenHeight = dm.heightPixels;  

【编辑推荐】

  1. Android多媒体录制功能的实现方式介绍
  2. Android图片大小调整动态实现方法
  3. Android界面互调具体应用方式解析
  4. Android智能指针使用方法介绍
  5. Android查询联系人信息正确操作方法
责任编辑:曹凯 来源: CSDN
相关推荐

2010-01-28 17:12:45

Android闪屏

2010-01-26 18:00:07

Android屏幕元素

2010-01-27 17:45:15

Android应用技巧

2011-06-07 09:15:35

2010-01-25 17:43:13

Android资源

2013-08-13 11:25:56

屏幕尺寸Android应用

2015-11-02 09:49:04

Android屏幕适配官方指导

2016-12-02 20:43:28

Android

2018-06-28 15:14:31

Android开发屏幕适配

2016-12-28 13:19:08

Android开发坑和小技巧

2012-02-13 16:39:03

2016-12-28 10:23:33

2017-03-10 21:04:04

Android适配

2013-07-24 09:32:13

Android项目

2017-03-07 15:35:26

2015-09-08 14:42:17

2013-04-16 11:08:44

2013-04-16 10:45:52

2013-07-24 17:45:24

2021-09-26 16:08:49

同话题下的热门内容

Android中实现系统声音录制-RK3399开发板源码修改Android 9 用户比 Android 12 多,系统碎片化问题依旧严重

编辑推荐

支付宝即将下线收款业务:2018年1月1日起正式执行,网友炸锅了!史上最详细的Toolbar开发讲解,此篇必读!你终于可以在Android的Gboard上用中文打字了查看文档的8款优秀Android PDF阅读软件Android Pie的9个隐藏功能:你可能错过的若干优秀技巧
我收藏的内容
点赞
收藏

51CTO技术栈公众号