Android應用屏幕適應問題的解決

一、android多屏幕支持機制 
Android的支持多屏幕機制即用爲當前設備屏幕提供一種合適的方式來共同管理並解析應用資源。 
Android平臺中支持一系列你所提供的指定大小(size-specific),指定密度(density-specific)的合適資源。 
指定大小(size-specific)的合適資源是指small, normal, large, and xlarge。 
指定密度(density-specific)的合適資源,是指ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high). 
Android有個自動匹配機制去選擇對應的佈局和圖片資源 
1)界面佈局方面 
根據物理尺寸的大小準備5套佈局: 
layout(放一些通用佈局xml文件,好比界面頂部和底部的佈局,不會隨着屏幕大小變化,相似windos窗口的title bar), 
layout-small(屏幕尺寸小於3英寸左右的佈局), 
layout-normal(屏幕尺寸小於4.5英寸左右), 
layout-large(4英寸-7英寸之間), 
layout-xlarge(7-10英寸之間) 
2)圖片資源方面 
須要根據dpi值準備5套圖片資源: 
drawable:主要放置xml配置文件或者對分辨率要求較低的圖片 
drawalbe-ldpi:低分辨率的圖片,如QVGA (240x320) 
drawable-mdpi:中等分辨率的圖片,如HVGA (320x480) 
drawable-hdpi:高分辨率的圖片,如WVGA (480x800),FWVGA (480x854) 
drawable-xhdpi:至少960dp x 720dp 
Android有個自動匹配機制去選擇對應的佈局和圖片資源。 
  系統會根據機器的分辨率來分別到這幾個文件夾裏面去找對應的圖片。 
  在開發程序時爲了兼容不一樣平臺不一樣屏幕,建議各自文件夾根據需求均存放不一樣版本圖片html

2. AndroidManifest.xml  android清單也要寫入權限才能夠,android從1.6和更高,Google爲了方便開發者對於各類分辨率機型的移植而增長了自動適配的功能 ,代碼以下:java

<supports-screens 
android:largeScreens="true" 
android:normalScreens="true" 
android:smallScreens="true" 
android:anyDensity="true"/>

其中各個對應的功能簡單敘述一下:android

android:anyDensity=["true" | "false"]  是否支持多種不一樣密度的屏幕  true爲支持,會根據屏幕的分辨率自動去匹配;false 系統自動縮放圖片尺寸和這個圖片的座標。具體解釋一下系統是如何自動縮放資源的。 ide

android:largeScreens=["true" | "false"]  是否支持大屏幕 佈局

android:smallScreens=["true" | "false"] 是否支持小屏幕ui

android:normalScreens=["true" | "false"用於指示應用程序是否支持普通外形的屏幕spa

相關文章
相關標籤/搜索