當前位置:首頁 » 安卓系統 » android不同屏幕

android不同屏幕

發布時間: 2023-08-27 05:36:35

⑴ android 的界面布局 怎麼適應不同解析度的手機 以及橫豎屏間的切換

各種Android操作系統的手機簡直就是琳琅滿目,屏幕解析度的差異可想而知。目前比較主流的有WVGA=800x480,HVGA=480x320,另外的還有QVGA=320x240。當然還有魅族M9的DVGA=960x640,還有蛋疼的摩托羅拉的FWVGA=854x480。

其實,在你layout的xml文件中,編寫的時候是不是用了許多的padding呢?如果是,那你就蛋疼了。因為這樣的布局永遠是無法適應所有手機屏幕的。

正確的做法應該是使用的是weight屬性。將你控制項的layout中的width、height設置為fill-parent,不要使用wrap——content。因為wrap-content的大小是不固定的。而weight(權重)這個屬性很好的解決了這個問題。

當包裹在控制項外面的Layout的width、height屬性都設置為fill-parent時,可以利用weight的反比特性。即如果控制項A設置weight為5,控制項B設置weight為7,那麼A所佔的空間為5/(5+7),B所佔的空間為7/(5+7)。這樣的反比屬性對任何解析度下的手機都是合適的。

當然,字體就不行了。那怎麼保證字體能夠跟布局一樣能夠自適應呢?
呵呵,很簡單,就是在你的res文件夾中創建一個文件夾,叫做values-320x240。其中320x240是你手機屏幕的解析度,根據你手機屏幕的情況做不同的命名,例如values-800x480。在該文件夾下創建一個dimens.xml文件,定義各種字體的大小。那麼系統就會自動根據你手機屏幕的解析度去調用響應的文件夾。

另外,值得提醒的是,記得在你默認的values文件下的dimens.xml文件中也要寫上相應的字體大小哦,因為當系統無法認識你手機屏幕大小的時候,它會自動去找你默認文件中的

東西,沒有寫的話程序會崩潰。

************************************************************分割線************************************************************

在看下面內容之前首先請看你SDK文檔中以下這篇文章

其實google在解析度適應性的東西已經寫的很清楚了,只是我們很多人沒去看而已

以下是結論:
屏幕解析度:1024x600
density:1(160)
文件夾:values-mdpi-1024x600

屏幕解析度:1024x600
density:1.5(240)
文件夾:values-hdpi-683x400 由1024/1.5 600/1.5得到,需要四捨五入。

屏幕解析度:800x480
density:1(160)
文件夾:values-mdpi-800x480

屏幕解析度:800x480
density:1.5(240)
文件夾:values-hdpi-533x320 由800/1.5 480/1.5得到,需要四捨五入。

以此類推
一般情況下需要創建出values 、values-mdpi 、 values-hdpi文件夾,以備在一些沒有規定的尺寸屏幕上找不到資源的情況。

然後在裡面使用不同的dimens文件,Layout中不要使用顯示的數字,所有的尺寸定義全都援引dimens裡面的內容。

這樣能夠保證深度UI定製的情況

另外在工程的default.properties中如果split.density=false,則解析度適配的時候文件夾命名不需要與scale相除


屏幕解析度:800x480
density:1.5(240)
文件夾:values-hdpi-800x480

************************************************************分割線************************************************************

關於dimens

位置:res\values
單位:px Pixel 以畫面的像素為單位;
in Inches以畫面的多少英寸為單位;
mm Millimeter以畫面的多少毫米為單位;
pt Points 一點為1/72英寸;
dp或dip Density-indepentdent 為160dpi屏幕的一個pixel;
ap Scale-independent Pixels 隨屏幕尺寸改變的一個pixel;

1.drawable: 存放不同解析度對應圖片

在2.1版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三個,這三個主要是為了支持多解析度。

drawable- hdpi、drawable- mdpi、drawable-ldpi的區別:

(1)drawable-hdpi裡面存放高解析度的圖片,如WVGA (480x800),FWVGA (480x854)

(2)drawable-mdpi裡面存放中等解析度的圖片,如HVGA (320x480)

(3)drawable-ldpi裡面存放低解析度的圖片,如QVGA (240x320)

系統會根據機器的解析度來分別到這幾個文件夾裡面去找對應的圖片。

在2.1之前的版本可以通過drawable-800x480, drawable-480x320 等方式實現。

2:layout:放置對應不同解析度的布局

創建不同的layout文件夾, layout-800x480,layout-480x320, 系統會根據屏幕的大小自己選擇合適的layout進行使用。

另外:可以在res目錄下建立layout-port和layout-land兩個目錄,裡面分別放置豎屏和橫屏兩種布局文件。

下面列出主流的android機型有:

240x320低端,國產入門級採用,例如HTC G4,G8
320x480中端,大部分基於此解析度,例如HTC G1,G2,G3,G6, MOTO ME600, SAMSUNG I7500
480x800中高端,大部分基於此解析度,例如HTC G5,G7, MOTO MT810
480x854MOTO特有的,例如Droid, Milestone, XT800
960x640, 魅族M9

⑵ Android的界面是如何適配多樣化屏幕

在研究Android的icon設計之前,有必要先了解Android的界面是如何適配多樣化屏幕的。

適配性

上一篇博文中提到,由於同一個UI元素(如100 x100像素的圖片)在高精度的屏幕上要比低精度的屏幕上看起來要小,為了讓這兩個屏幕上的圖片看起來效果差不多,可以採用以下兩種方法:

  • 程序將圖片進行縮放,但是效果較差。

  • 為這兩個精度屏幕的手機各提供一個圖片。

  • 但是屏幕的參數多樣化,為每一個精度的屏幕都設計一套icon,工作量大並且不能滿足程序的兼容性要求,勢必要對屏幕的分級,如在160dpi和180dpi的手機屏幕上採用同一套icon,當這套icon在240dpi效果滿足不了設計要求,就需要另做一套稍大些的icon。

    在Android 1.5以及更早的版本中,只支持3.2″ 屏幕上的HVGA (320×480)解析度,開發人員也不需要考慮界面的適配性問題。從Android 1.6之後,平台支持多種尺寸和解析度的設備,這也就意味著開發人員在設計時要考慮到屏幕的多樣性。

    為了簡化設計並且兼容更多的手機屏幕,平台依照尺寸和解析度對屏幕進行了區分:

  • 三種尺寸:大,中,小。

  • 三種精度:高(hdpi),中(mdpi)和低(ldpi)。

  • 程序可以為這三種尺寸的屏幕提供默認資源,如有需要,還可以為各種精度的屏幕提供資源。在運行時,系統會根據屏幕布局載入正確尺寸或者精度的圖片。

    iPhone的icon設計就這么簡單,iPhone的屏幕只有320×480像素,所以程序沒有適配性問題。

    參考文章:

    《Icon Design Guidelines, Android 2.0》

    《iPhone human interface guidelines》

    本文由站酷網-zystoo翻譯,轉載請保留此信息,多謝合作。

安卓手機分屏怎麼弄

安卓手機分屏方法如下:

1、華為手機在桌面點擊設置。

熱點內容
滑板鞋腳本視頻 發布:2025-02-02 09:48:54 瀏覽:431
群暉怎麼玩安卓模擬器 發布:2025-02-02 09:45:23 瀏覽:555
三星安卓12彩蛋怎麼玩 發布:2025-02-02 09:44:39 瀏覽:743
電腦顯示連接伺服器錯誤 發布:2025-02-02 09:24:10 瀏覽:534
瑞芯微開發板編譯 發布:2025-02-02 09:22:54 瀏覽:144
linux虛擬機用gcc編譯時顯示錯誤 發布:2025-02-02 09:14:01 瀏覽:231
java駝峰 發布:2025-02-02 09:13:26 瀏覽:649
魔獸腳本怎麼用 發布:2025-02-02 09:10:28 瀏覽:530
linuxadobe 發布:2025-02-02 09:09:43 瀏覽:210
sql2000資料庫連接 發布:2025-02-02 09:09:43 瀏覽:725