Ⅰ android studio 怎麼做屏幕適配
不能說是Android Studio怎麼做屏幕適配,而應該是Android怎麼做屏幕適配
屏幕適配需要多方面來配合才能實現
1、針對手機、平板做不同的XML布局設計 ,如:layout、layout-large
2、解析度不同的,對於圖片也需要不同,讓美工給你做合適的圖,如:mipmap-hdpi、mipmap-xhdpi
3、對針不同設置,字體大小設計也不同,如:values-hdpi、values-hdpi
以上這幾種配合使用,基本可以達到屏幕適配的目的,這個需要使用不同設置進行測試,然後根據情況進行調整
Ⅱ Android 開發中 如何做到XML多屏幕適配
Android上面解決適配不同尺寸(解析度)和密度的問題,主要是通過以密度分類,再加上解析度的方式來減化適配不同尺寸屏幕的工作量.
一般來講,屏幕解析度越高,清晰度也應該越高,也即其密度也應該越大,否則會看起來很不清楚,比如4寸的屏幕只顯示100個像素,這就近距離看電影,或者看投影儀一樣,非常的粗糙和不清晰.所以,Android主要是以屏幕密度來區分不同的設備:
高密度: hdpi (High dots per inch)
中等密度: mdpi (Medium dots per inch)
低密度: ldpi (Low dots per inch)
並且布局中推薦使用密度無關單位dip或dp,來作為長度或者寬度的單位.這樣,從理論上來講,開發者只需要做:
1. 為不同的密度屏幕准備圖片資源
(圖片是沒辦法的,因為圖片的長度和寬度是固定的像素值,不能夠隨密度變化而變化,可以強行拉伸,但圖片會失真.當然也有9 Patch圖片可以解決隨意拉伸的問題.但普通的圖片的長度和寬度是固定的.
2. 用dip作為單位來指定長度或者寬度
就可以適配所有的設備,讓布局在所有的屏幕上都得到比較好的顯示效果.
當然,現實的生活沒有這么完美,各種設備千差萬別.但是總體仍可分為這三大類,為這三大類准備好圖片後,其他的只要與某一類較接近,即使稍有拉伸或失真,也不太明顯,是可以接受的.所以,對於一般性的應用程序,寫一個布局文件在layout中,為三種密度准備圖片drawable-hdpi, drawable-mdpi, drawable-ldpi,就足以應對80%的設備.
res/
drawable-hdpi/
ic_launcher.png
drawable-mdpi/
ic_launcher.png
drawable-ldpi/
ic_launcher.png
layout/
main.xml
(這里可能有點過時了,因為現在多了xdpi,而且很多設備也是xdpi的.)
但是光以密度屏幕來分類和處理還不夠.隨著設備的越來越多,以及屏幕尺寸越來越大,還有就是Tablet的出現,又會出現這樣的問題:設備的屏幕密度雖然不高,但其解析度很高.舉個簡單的例子:iPad2的解析度是1024x768,iPhone 4 960x640,但是iPhone 4的密度是326ppi,遠大於iPad2.但是,無論密度有多高它的屏幕就那麼,最多能顯示960x640個像素點,一個1024*768的圖片在iPad上可以看到全部,而iPhone上只能看到一大半!這也是為什麼用iPad來運行iPhone上的應用程序時,只是以屏幕中間的一部分來模擬顯示的原因.
對Android來說也是一樣的.如此一來,即使相同的dpi,假如其屏幕尺寸非常大,那麼為其准備的圖片將被拉伸很大或者顯示不全.UI元素也會被拉伸很長.這樣並不是很好的體驗.對於尺寸大的屏幕應該讓其顯示更多的內容,而不是把一部分元素拉伸很大.所以,很多手機安卓應用如果未經專門適配,在平板上直接使用體驗將會是非常差的.
為了解決這樣的問題,就還必須以屏幕尺寸來區分設備
主要有四種屏幕尺寸:small, normal, large and xlarge
這主要是配合屏幕密度來一起使用,比如,適配平板的圖片:
drawable-xlarge-hdpi/ic_launcher.png
這里就要提到了密度,尺寸和解析度的對應關系了. 屏幕解析度是隨設備變化最明顯的一個,上面的二種分類方法僅是對屏幕進行的大致的一個分類.雖然屏幕解析度與密度沒有直接的關系,但是所有的設備都基本上一致的:
ldpi QVGA 240*320 0.8
mdpi HVGA 320*480 1.0
hdpi WVGA 480*800 1.5
hdpi qHD 540*960 1.5
xdpi WXGA 720*1280 2
Ⅲ android 字體是怎麼屏幕適配的
在android中,我們有兩種情況可以設置字體大小。一種是在xml頁面中,另一種是在java代碼中。
<TextView
android:id="@+id/hello_word"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
android:text="@string/hello_world" />
其中android:textSize欄位就是設置字體大小。谷歌官方推薦在設置字體大小時候,用sp為單位。
在android中系統預設了3種默認字體樣式供選擇,即大、中、小號字體,默認的為小號字體。
Ⅳ android屏幕適配做哪幾個尺寸
android屏幕適配尺寸有全屏模式、4:9、8:12多種。
android屏幕適配尺寸有多種,具體的要結合自己的興趣愛好和手機的自身的實際情況,具體設置標准如下:
1、不要使用絕對布局,這會限制你的手機屏幕的更換。
2、盡量使用match_parent ,從而保證屏幕的最大化利用。
3、盡量使用權重(android:layout_weight),保持手機屏幕合理布局。
4、盡量使用android的shape 自定義,形成純色背景。
5、可以在res目錄上新建layout-HxW.xml的文件夾進行在特定解析度下適配。
拓展資料:
由於筆記本電腦採用的液晶屏的大小和解析度是根據它的市場定位決定的,所以為了適應不同人群的消費能力和使用習慣,筆記本電腦的液晶顯示器的尺寸和解析度種類遠遠要比台式液晶顯示器多。
Ⅳ 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翻譯,轉載請保留此信息,多謝合作。
Ⅵ Android一般開發的時候的屏幕適配是怎麼做的
Android中一個layout想適配各種屏幕尺寸那麼需要按以下規則去寫layout:
1. 盡量使用wrap_content、match_parent、weight 來規定layout的大小。
2. 要確保布局的靈活性並適應各種尺寸的屏幕,應使用 「wrap_content」 和 「match_parent」 控制某些視圖組件的寬度和高度。
3. 使用 「wrap_content」,系統就會將視圖的寬度或高度設置成所需的最小尺寸以適應視圖中的內容,而 「match_parent」(在低於 API 級別 8 的級別中稱為「fill_parent」)則會展開組件以匹配其父視圖的尺寸。
4. 如果使用 「wrap_content」 和 「match_parent」 尺寸值而不是硬編碼的尺寸,視圖就會相應地僅使用自身所需的空間或展開以填滿可用空間。此方法可讓布局正確適應各種屏幕尺寸和屏幕方向。
5. 如果某些地方必須要規定控制項的大小,那麼要使用dp 或者 dip單位。
6. 欄位必須使用 sp單位。
7. 將不同的圖片放到不同的drawable目錄下,解析度的匹配規則如下:
drawable-mdpi 320 * 480
drawable-hdpi 480*800
drawable-xhdpi 720 * 1280
drawable-xxhdpi 1080 * 1920
drawable-xxxhdpi 1080+
Ⅶ android 屏幕適配可以使用百分比嗎
android適配沒有百分比的參數,文字使用sp,距離使用dp,都是像素無關的單位,這是google原聲的適配方式
Ⅷ 為什麼說Android開發屏幕適配很難
1. 代碼方式 獲取屏幕的寬高 然後根據自己的設計圖 給控制項設置寬高
優點:能夠適配不同屏幕。 ?缺點:代碼較多,適合某些特殊需求。
2. 布局方式 ?比如layout-land(橫屏時候走這個裡面的布局) layout-port(豎屏時候走這里的布局)value-1080-width(名字好像是類似這樣忘記了, 這裡面可以定義一些 ?按鈕的大小,這樣屏幕寬度是1080時候就走這裡面的參數) hdpi ?xhdpi ?xxhdpi 等放不同解析度的圖片
優點: 簡單 不用修改代碼 ?缺點:資源文件比較大
一般都是採用1、 2混合的方式來適配。
Ⅸ android如何適配不同解析度
Android應用如何適配不同解析度的手機,主要分三塊考慮:
1.界面配置,根據不同的解析度,創建手機界面文件
例子:
在res下創建 layout-800x480,layout-480x320,並在各自不同解析度的文件夾下創建界面文件
2.圖片配置,不同的解析度,界面的長寬比不一致,需要不同規格的圖片,在drawable-hdpi,drawable-ldpi,drawable-mdpi 中放不同解析度的圖片.
注:為了減小整個應用程序安裝包大小,選用最高解析度適配,特殊界面圖片特殊處理.
3.動態實現的界面,樣式的設定,不同解析度,界面的字體大小,字體等需要不同的樣式,且需要動態生成的情況下,需要把不同解析度的配置信息保存到應用中。
例子:
在RES里創建 values-480x320 values-800x400 value-1280x720,並在創建的文件夾中分別創建dimens.xml,<dimen name="Text_size">30px</dimen>,在程序中直接調R.dimen.Text_sizeint sizeOfText = (int) this.getResources().getDimension(R.dimen.Text_size);
注:實際應用發現,字體大小適配時,比如只適配了如下屏幕字體
values-480x320 values-800x480 value-1280x720當出現手機屏幕解析度為 854x480時會自動找最大字體適配 (value-1280x720).
總結:如果字體800x480以上沒有適配,手機自動按最大解析度適配.
Ⅹ 淺談android 屏幕適配中 dp和sp的區別
追到Android源碼,發現系統內部用applyDimension()將所有單位都轉換成px 再處理:
public static float applyDimension(int unit, float value, DisplayMetrics metrics)
{
switch (unit) {
case COMPLEX_UNIT_PX:
return value;
case COMPLEX_UNIT_DIP:
return value * metrics.density;
case COMPLEX_UNIT_SP:
return value * metrics.scaledDensity;
case COMPLEX_UNIT_PT:
return value * metrics.xdpi * (1.0f/72);
case COMPLEX_UNIT_IN:
return value * metrics.xdpi;
case COMPLEX_UNIT_MM:
return value * metrics.xdpi * (1.0f/25.4f);
}
return 0;
}