当前位置:首页 > 编程开发

Android屏幕大小相关技巧应用指南

webgou16年前 (2010-08-08)编程开发199

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; 

扫描二维码推送至手机访问。

版权声明:本文由知了博客发布,如需转载请注明出处。

本文链接:https://www.webgou.info/?id=233

标签: android界面
分享给朋友:

“Android屏幕大小相关技巧应用指南” 的相关文章

activex 控件(ocx)与容器

activex 控件(ocx)与容器 [B]容器:[/B] 1.控件容器,桌面程序 2.网页,一般指browser [B]两者之间通讯:[/B]1.事件做出响应 (ocx-˃容器)2.属性和方法的接口进行管理(容器-˃ocx)本质:1.进程内服务器2.COM组件...…

理解EnterCriticalSection 临界区

保证只有一个线程访问一段代码…

Eclipse中65536问题记录

[2017-05-11 12:22:00 - Dex Loader] Unable to execute dex: method ID not in [0, 0xffff]: 65536[2017-05-11 12:22:00 - app] Conversion to Dalvik format f…

Android垃圾回收实质内容解析

Android手机操作系统中的代码编写方式对于有基础的编程人员来说是比较容易的。因为它是基于Linux平台的操作系统。我们在这里为大家介绍的是Android垃圾回收这一机制,以加深大家对这一系统的了解。个人觉得sp和wp实际上就是Android 为其c++实现的自动垃圾 回收机制 ,具体到内部实现…

ATL.SubclassWindow分析

[B]ATL.SubclassWindow分析[/B] [template BOOL CWindowImplBaseT::SubclassWindow(HWND hWnd) { BOOL result; ATLASSUME(m_hWnd == NULL); ATLASSERT(::IsWi…

透明位图显示

想到透明位图,找了找资料,有几种实现,并理解了下,掩码机制(其实就是数据的逻辑操作)。 …

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。