Android DP的想法?

时间:2011-12-28 21:46:52

标签: android-layout

有人可以给我指点: 我有一个ListView,适配器得到LinearLayout,在此我又增加了四个LinearLayouts

现在我读到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>

1 个答案:

答案 0 :(得分:1)

根据Android文档,160 DPI屏幕上1 DP = 1像素。如果屏幕是240 DPI,那么1.5pixel = 1 DP。一个DP的大小与底层硬件分辨率无关,而是屏幕DPI的函数。

对于布局问题,如果为布局指定固定宽度值,则在较大的屏幕尺寸上看起来不太好。

最好使用layoutweight来分配这些布局之间的宽度。