Układ Projektowy Dla Wielu Ekranów

Jestem nowy w Androidzie i chcesz zaprojektować układ, który działa na wszystkich ekranach telefonu i tabletu z Androidem ? Czy ich sposób jest na to ?

Author: Padma Kumar, 2011-12-08

5 answers

<supports-screens
        android:smallScreens="true"
        android:normalScreens="true"
        android:largeScreens="true"
        android:xlargeScreens="true"
        android:anyDensity="true" />

Powinieneś prawdopodobnie przeczytać to:

 7
Author: Padma Kumar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-08 08:37:14

Musisz utworzyć inny układ dla różnych rozmiarów ekranu. Obsługa całego ekranu, którego potrzebujesz, aby utworzyć następujący układ:

  1. Małe ekrany o niskiej gęstości QVGA 240x320 (120dpi):

    layout-small-ldpi (240x320)  
    layout-small-land-ldpi (320x240)
    
  2. Ekrany o niskiej gęstości WVGA400 240x400 (x432) (120dpi):

    layout-ldpi  (240 x 400 )
    layout-land-ldpi  (400 x 240 )
    
  3. Ekrany normalne średniej gęstości HVGA 320x480 (160dpi):

    layout-mdpi (320 x 480 )
    layout-land-mdpi (480 x 320 )
    
  4. Ekrany Duże średniej gęstości HVGA 320x480 (160dpi):

    layout-large-mdpi (320 x 480 )
    layout-large-land-mdpi (480 x 320)
    
  5. Galaxy Tab (240 dpi):

    layout-large  (600 x 1024) 
    layout-large-land  (1024 x 600)
    
  6. Ekrany o wysokiej gęstości WVGA800 480x800 (x854) (240 dpi):

    layout-hdpi (480 x 800)
    layout-land-hdpi (800 x 480)
    
  7. Xoom (medium density large but 1280x800 res) (160 dpi):

    layout-xlarge (800 x 1280)
    layout-xlarge-land (1280 x 800)
    

Dodaj również następujący kod w pliku .manifest:

<supports-screens                                 
    android:smallScreens="true"                    
    android:normalScreens="true"         
    android:largeScreens="true"            
    android:xlargeScreens="true"             
    android:anyDensity="true" />
 95
Author: Dhaval Khant,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-17 08:30:37

Oprócz tradycyjnych parametrów supports-screens odnoszą się do nowych kwalifikatorów Size uruchomionych w 3.2

Używanie nowych kwalifikatorów rozmiaru

Różne konfiguracje zasobów, które można określić na podstawie dostępnego miejsca dla układu, podsumowano w tabeli 2. Te nowe kwalifikatory zapewniają większą kontrolę nad konkretnymi rozmiarami ekranu obsługiwanymi przez aplikację w porównaniu z tradycyjnymi grupami rozmiarów ekranu (mały, normalny, duży i xlarge).

Tabela 2 Tutaj wpisz opis obrazka

Aby pomóc ci dopasować niektóre projekty do różnych typów urządzeń, oto kilka liczb dla typowych szerokości ekranu:]}
320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc).
480dp: a tweener tablet like the Streak (480x800 mdpi).
600dp: a 7” tablet (600x1024 mdpi).
720dp: a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).

Używając kwalifikatorów rozmiaru z tabeli 2, Twoja aplikacja może przełączać się między różnymi zasobami układu dla telefonów komórkowych i tabletów, używając dowolnej liczby dla szerokości i / lub wysokości. Na przykład, jeśli 600dp jest najmniejszą dostępną szerokością obsługiwaną przez układ tabletu, możesz podać te dwa zestawy layouts:

res/layout/main_activity.xml           # For handsets
res/layout-sw600dp/main_activity.xml   # For tablets
<manifest ... >
    <supports-screens android:requiresSmallestWidthDp="600" />
    ...
</manifest>
 6
Author: Rajdeep Dua,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-08 08:54:30

Jeśli chcesz używać tylko jednego układu XML, który skaluje się z rozmiarem ekranu, możesz użyć sdk sdk.

Dodaj SDP sdk:

dependencies {
    compile 'com.intuit.sdp:sdp-android:1.0.2'
}

I można by zdefiniować skalowalny TextView:

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="A scalable text"
        android:textSize="@dimen/_12sdp" />
 3
Author: Elhanan Mishraky,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-09 08:30:14

Jeśli używasz android 1.6 to spróbuj tego dla innego layoutu jak ja go używałem:

  1. Jeżeli szerokość-wysokość-gęstość :- 320 - 480 - 160 następnie nazwa folderu res / layout:-(layout-medium-mdpi)
  2. Jeżeli szerokość-wysokość-gęstość :- 480 - 800 - 160 następnie nazwa folderu res / layout:-(layout-large-mdpi)
    lub jeśli width-height-density: - 480 800 240 then res/layout nazwa folderu:- (layout-medium-hdpi)
To działa....
 1
Author: Kuldeep,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-17 08:19:24