一:不同的layout
二:hdpi、mdpi、ldpi
在之前的版本中,只有乙個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)
系統會根據機器的解析度來分別到這幾個資料夾裡面去找對應的。
在開發程式時為了相容不同平台不同螢幕,建議各自資料夾根據需求均存放不同版本。
三:橫屏豎屏
以下步驟是網上流傳的,不過我自己之前是通過圖形化介面實現這個配置,算是殊途同歸,有空我會把貼上來。
還要說明一點:每個activity都有這個屬性screenorientation,每個activity都需要設定,可以設定為豎屏(portrait),也可以設定為無重力感應(nosensor)。
要讓程式
介面保持乙個方向,不隨手機方向轉動而變化的處理辦法:
在androidmanifest.xml裡面配置一下就可以了。加入這一行android:screenorientation="landscape"。
例如(landscape是橫向,portrait是縱向):
view plain
copy to clipboard
print?
<?
xmlversion
="1.0"
encoding
="utf-8"
?>
<
manifest
xmlns:android
=""package
="com.ray.linkit"
android:versioncode
="1"
android:versionname
="1.0"
>
<
android:icon
="@drawable/icon"
android:label
=>
<
activity
android:name
=".main"
android:label
=android:screenorientation
="portrait"
>
<
intent-filter
>
<
action
android:name
="android.intent.action.main"
/>
<
category
android:name
="android.intent.category.launcher"
/>
intent-filter
>
activity
>
<
activity
android:name
=".gameplay"
android:screenorientation
="portrait"
>
activity
>
<
activity
android:name
=".optionview"
android:screenorientation
="portrait"
>
activity
>
>
<
uses-sdk
android:minsdkversion
="3"
/>
manifest
>
另外,android中每次
螢幕的切換動會重啟activity,所以應該在activity銷毀前儲存當前活動的狀態,在activity再次create的時候載入配置,那樣,進行中的
遊戲就不會
自動重啟了!
有的程式適合從豎屏切換到橫屏,或者反過來,這個時候怎麼辦呢?可以在配置activity的地方進行如下的配置android:screenorientation="portrait"。這樣就可以保證是豎屏總是豎屏了,或者landscape橫向。
而有的程式是適合橫豎屏切換的。如何處理呢?首先要在配置activity的時候進行如下的配置:android:configchanges="keyboardhidden|orientation",另外需要重寫activity的onconfigurationchanged方法。實現方式如下,不需要做太多的內容:
view plain
copy to clipboard
print?
@override
public
void
onconfigurationchanged(configuration newconfig) elseif(
this
.getresources().getconfiguration().orientation == configuration.orientation_portrait)
}
需要注意到是,在命名layout資料夾時,必須遵守這樣的規則. layout-640x360 大數放在小數的前面,否則會報錯!
Android不同解析度適配
適配可以分為 layout land 橫屏布局 layout port 豎屏布局 layout 1920x1080 或者layout land 1920x1080 layout port 1920x1080 注 如果適配的布局檔案中,沒有當前機型,當前機型會選擇相差最小的解析度的配置檔案進行適配 l...
Android 適配不同 解析度和尺寸
如題,最近做乙個裝置介面,為了能夠適應不同的解析度 下面分享實現方法 首先 你需要在 androidmanifest.xml 檔案的元素如下新增子元素 supports screens android largescreens true android normalscreens true andr...
android 不同手機解析度適配問題
在使用單位時,如果沒有特殊情況,一律採用dip和sp 字型大小單位 這兩個單位。因為這兩個單位是與裝置解析度無關的,能夠解決在不同解析度的裝置上顯示效果不同的問題。另外,在編碼中定義控制項的margin或padding屬性時,sdk裡面並沒有提供dip單位的api設定介面,而是提供了預設的px設定。...