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 ?
5 answers
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true" />
Powinieneś prawdopodobnie przeczytać to:
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:
-
Małe ekrany o niskiej gęstości QVGA 240x320 (120dpi):
layout-small-ldpi (240x320) layout-small-land-ldpi (320x240)
-
Ekrany o niskiej gęstości WVGA400 240x400 (x432) (120dpi):
layout-ldpi (240 x 400 ) layout-land-ldpi (400 x 240 )
-
Ekrany normalne średniej gęstości HVGA 320x480 (160dpi):
layout-mdpi (320 x 480 ) layout-land-mdpi (480 x 320 )
-
Ekrany Duże średniej gęstości HVGA 320x480 (160dpi):
layout-large-mdpi (320 x 480 ) layout-large-land-mdpi (480 x 320)
-
Galaxy Tab (240 dpi):
layout-large (600 x 1024) layout-large-land (1024 x 600)
-
Ekrany o wysokiej gęstości WVGA800 480x800 (x854) (240 dpi):
layout-hdpi (480 x 800) layout-land-hdpi (800 x 480)
-
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" />
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
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>
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" />
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:
- Jeżeli szerokość-wysokość-gęstość :- 320 - 480 - 160 następnie nazwa folderu res / layout:-(layout-medium-mdpi)
- 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)
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