android螢幕適配須知:
android螢幕適配原理:
關於drawable資料夾和螢幕解析度:
新版android新建工程後res資料夾下有三個資料夾,分別用於存放高中低解析度的,系統會根據機器的解析度來分別到這幾個資料夾裡面去找對應的,在開發程式時為了相容不同平台不同螢幕,建議各自資料夾根據需求均存放不同版本。
三個資料夾對應螢幕解析度分別為:
drawable-hdpi 高解析度的,如wvga (480x800),fwvga (480x854)
drawable-mdpi 中等解析度的,如hvga (320x480)
drawable-ldpi 低解析度的,如qvga (240x320)
關於layout_weight
layout_weight是線性布局,也就是linearlayout裡面用到的,下面通過實驗來看這個layout_weight的特性。
1.當控制項的屬性android:layout_width="fill_parent"時,布局檔案如下:
xml**
<?xml version="1.0" encoding="utf-8"?>
" android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="fill_parent">
在這裡button1的layout_weight=1,buttong2的layout_weight=2,執行效果為:
我們看到,button1佔了2/3,button2佔了1/3。如果此時把button2的weight設定成2000,不是說button2就消失了,而是button1的寬度幾乎佔滿了螢幕寬度,而螢幕最後一絲細條則是留給button2的,已近非常小了,沒有顯示出來。截圖如下:
得出結論:在layout_width設定為fill_parent的時候,layout_weight代表的是你的控制項要優先盡可能的大,但盡可能大是有限度的,即fill_parent.
2.當控制項的屬性android:layout_width="wrap_content"時,布局檔案如下:
xml**
<?xml version="1.0" encoding="utf-8"?>
" android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="fill_parent">
同樣,button1的weight設定為1,button2的weight設定為2,但是效果與fill_parent的效果截然相反。執行效果如下:
這時,和fill_parent正好相反,button1的寬度佔據了螢幕寬度的1/3,而button2的寬度佔據了螢幕的2/3,如果此時把button1的weight設定為2000,按照之前理解,button1應該小的幾乎在螢幕上看不到,但是錯了,實驗告訴我們,當button1的weight非常小時,也要"wrap_content",也就是要保證button1至少能夠顯示。以下是button1設定weight為2000時的執行截圖:
我們看到,button1已經足夠小,但是要保證他能顯示出來,因此得出結論:
在layout_width設定為wrap_content的時候,layout_weight代表的是你的控制項要優先盡可能的小,但這個小是有限度的,即wrap_content.
當了解這些後,我們再設計程式時,為了能夠自適應螢幕,不想給控制項乙個指定的寬度和高度,就可以使用這個weight屬性來讓它按自己比例來劃分螢幕高度或者寬度了。
android螢幕適配
1 配置android應用程式適配在不同的手機上,需要在androidmanifest.xml檔案的manifest標籤中新增子元素 1 2 3 4 5 6 7 8 9 10 manifestxmlns android supports screens android smallscreens tr...
Android螢幕適配
在sdk中的幫助文件中。develpe training best practices supporting multiple screens 這裡有多屏適配的介紹。現做簡單記錄。screen size small 至少 426dp x 320dp normal 至少 470dp x 320dp l...
android螢幕適配
ui在不同的螢幕畫素或大小中顯示效果可能會不同 1 建議使用盡量使用線性布局和相對布局,基本上不會產生螢幕大小不適應的問題 2 設定控制項寬高的時候使用單位dip dp 是根據當前裝置大小比例計算出來的 3 文字設定盡量使用sp單位 4 盡量不使用px設定大小 畫素px和dip相互轉換工具,實現兩種...