2011-03-30 50 views
0

針對不同的屏幕密度的工作,我在測試Android的多DPI,並且佈局xml文件似乎是這樣的:浸在XML不能在安卓模擬器

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="fill_parent" 
    android:layout_height="fill_parent" android:background="@drawable/new_album_bg"> 
    <TextView android:layout_width="fill_parent" 
     android:layout_height="wrap_content" android:text="@string/hello" /> 
    <RelativeLayout android:gravity="center" 
     android:paddingTop="400dip" android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 
     <EditText android:background="@drawable/name_text_bg" 
      android:layout_width="wrap_content" android:layout_height="wrap_content" 
      android:gravity="center" /> 
    </RelativeLayout> 
</RelativeLayout> 

當我在一個480x800的MDPI運行( 160)模擬器(縮放到7英寸),它工作正常,但在480x800的hdpi模擬器上,它將EditText填充到屏幕的近底部,接近600px,是400dip x 240/160?而且,即使我將其縮放到4英寸,它與屏幕大小似乎也沒有什麼區別。如何讓填充在不同的屏幕密度下工作?非常感謝!

回答

1
How to let padding work under different screen density? 

您可以創建不同的文件夾不同的填充不同的佈局XML像

res/layout-mdpi 
res/layout-hdpi 

那麼Android將選擇適當的佈局XML
關於DP(DIP)
DP將保證該視圖在當前設備屏幕上被賦予適當的大小。例如,帶有layout_width="100dp"的視圖將在[email protected] density顯示器上測量100 pixels寬度,在[email protected] density顯示器上測量150 pixels,但該視圖將佔據大致相同的物理空間。

欲瞭解更多詳情,請參閱本Supporting Multiple Screens

+0

喜Labeeb P,使用RES /佈局華電國際就行了!謝謝!但仍然存在一個小問題:dp被放大了1.5倍,因此480x800 240dip屏幕的性能僅爲480x800/1.5,也就是說,屏幕高度僅爲533.33dp,我可以在layout xml中使用它,但不便於使用。有什麼建議麼? – herbertD 2011-03-30 09:27:38