android多解析度適配問題

2021-06-18 00:28:58 字數 1220 閱讀 1413

android提供了多個資料夾來解決適配問題,可這會導致應用程式的大小很大,對於ui較多的應用不太可取。

目前大多數應用都是提供了一套hdpi的圖,andorid根據手機螢幕的大小是會做自動適配的。

如果你想讓這些改變更可控,可以嘗試如下做法。

做一套符合當前主流手機的圖(比如以800寬的螢幕為基準的)。盡量做hdpi或者xhdpi的圖 ,以免縮放時丟失畫素。

首先通過如下方法獲取當前手機的寬高。

final displaymetrics displaymetrics = new displaymetrics();

getwindowmanager().getdefaultdisplay().getmetrics(displaymetrics);

final int height = displaymetrics.heightpixels;

final int width = displaymetrics.widthpixels;

再通過如下的工具類,根據當前手機的寬高,算出需要縮放的比例。

public class adaptationclass

public int changeimage(int w)

如果的寬是415畫素,那麼在設定寬度的時候呼叫即可自動轉換成適應當前螢幕的畫素值。的寬出來後,高度可以根據的寬高比算出。

layoutparams lp = new layoutparams(changeimage(415),changeimage(415)*高寬比);

或者layoutparams lp = new layoutparams(changeimage(415),changeimage(高度));

imageview imageview = new imageview(this);

imageview.setlayoutparams(lp);

對於高度較大的,可以考慮放在scrollview中,以免有些手機顯示不全。

有些直接設為background,在不同的解析度下會變形。

可以考慮通過framelayout中放imageview的方式解決。(imageview的寬高可通過設定layoutparam在程式中根據手機螢幕大小動態生成)

應用的歡迎介面可以採用純色背景+imageview實現,imageview的scaletype設為centerinside,純色邊界可以很大程度規避顯示不全的問題。

jpg格式要比png的小很多,所以在沒有透明要求的情況下盡量使用jpg格式。

android多解析度適配

前一階段開發android專案,由於客戶要求進行多解析度適配,能夠支援國內主流的解析度手機。因此經過了幾次開發走了很多彎路,目前剛剛領略了android多解析度適配的一些方法。先介紹一下所走的彎路,由於android的布局檔案存放在res的layout中,可以根據不同的手機解析度指定特定的layou...

Android 多解析度適配

標籤 android 適配多解析度 布局檔案 layout 2014 05 28 15 18 9946人閱讀收藏 舉報 android 3 前一階段開發android專案,由於客戶要求進行多解析度適配,能夠支援國內主流的解析度手機。因此經過了幾次開發走了很多彎路,目前剛剛領略了android多解析度...

android多解析度適配

前一階段開發android專案,由於客戶要求進行多解析度適配,能夠支援國內主流的解析度手機。因此經過了幾次開發走了很多彎路,目前剛剛領略了android多解析度適配的一些方法。先介紹一下所走的彎路,由於android的布局檔案存放在res的layout中,可以根據不同的手機解析度指定特定的layou...