2011-12-28 158 views
1

有人可以請給我這方面的指示: 我有ListView,適配器得到了LinearLayout,在這我得到了四個LinearLayoutsAndroid DP缺陷?

現在我讀了關於dp和它是相對於160,但是當我閱讀不同的例子這個數字「160」似乎是不同的屏幕上,所以我如何使用dp?

我習慣在這種情況下使用%。

現在,我想我的四個LinearLayouts是:

  • 55dp
  • 35pd
  • 35pd
  • 35pd

就像如果DP爲160!

但正如我上面提到的,這不適用於所有屏幕。

有人能告訴我應該如何處理這個問題嗎?方向或一個很好的教程或類似?

這是我曾經嘗試過,並拿出迄今:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_marginTop="15dip" 
    android:layout_marginBottom="15dip" 
    android:paddingTop="15dip" 
    android:paddingBottom="15dip" >    

    <LinearLayout 
    android:orientation="vertical" 
    android:layout_width="55dp" 
    android:layout_height="wrap_content" 
    android:gravity="center"> 

     <TextView 
    android:id="@+id/text1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="top" /> 

    </LinearLayout> 

    <LinearLayout 
    android:orientation="vertical" 
    android:layout_width="35dp" 
    android:layout_height="wrap_content" 
    android:gravity="center"> 

     <Button 
    android:text="Woho" 
     android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/> 

     <TextView 
    android:text="Woho" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/> 

     <Button 
    android:text="Woho" 
     android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/> 

    </LinearLayout> 

    <LinearLayout 
    android:orientation="vertical" 
    android:layout_width="35dp" 
    android:layout_height="wrap_content" 
    android:gravity="center"> 

     <Button 
    android:text="Woho" 
     android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/> 

     <TextView 
    android:text="Woho" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/> 

     <Button 
    android:text="Woho" 
     android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/> 

    </LinearLayout>  
    </LinearLayout> 
+0

如果我已經回答了您的問題,您可以將其標記爲答案嗎? – 2011-12-29 23:25:49

回答

1

按android的文檔,1 DP = 1個160 DPI屏幕上的像素。如果屏幕是240 DPI,那麼1.5像素= 1 DP。一個DP的大小與底層硬件分辨率無關,而是屏幕DPI的功能。

對於佈局問題,如果將固定寬度值分配給佈局,則在較大的屏幕尺寸上它看起來不太好。

更好地使用佈局重量來分佈這些佈局之間的寬度。