Android DP не верит? - PullRequest
       2

Android DP не верит?

1 голос
/ 29 декабря 2011

Может кто-нибудь дать мне указания по этому вопросу: у меня есть ListView, у адаптера - LinearLayout, и в этом у меня есть еще четыре LinearLayouts.

Теперь я читаю о дпи это относительно 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 Ответ

1 голос
/ 29 декабря 2011

Согласно документации Android, 1 DP = 1 пиксель на экране 160 DPI. Если экран 240 точек на дюйм, то 1,5 пикселя = 1 DP. размер одного DP не зависит от основного аппаратного разрешения, но зависит от DPI экрана.

Если вы зададите для макета фиксированное значение ширины, то он не будет хорошо смотреться на экранах большего размера.

Лучше использовать макет для распределения ширины между макетами.

...