Różne foldery wartości w Androidzie
Tworzę różne foldery values
w mojej aplikacji (values, values-ldpi, values-mdpi, values-hdpi, values-xhdpi, values-nodpi, values-w360dp-mdpi)
. Ale niektóre urządzenia należące do tej samej kategorii. Ale o różnych rozmiarach ekranu. Ale widzę podaj rozmiar czcionki zgodnie z gęstością urządzenia w tym odpowiedzi udzielonej przez @PankajSharma sugerują utworzenie folderów takich jak-
res/values/dimens.xml
res/values-small/dimens.xml
res/values-normal/dimens.xml
res/values-xlarge/dimens.xml
Chcę wiedzieć, jaka jest różnica b / w mój sposób i w drugą stronę? Myślę, że Odpowiedź udzielona przez @ PankajSharma jest łatwa. Chcę też wiedzieć, która droga jest lepsza?
3 answers
Podejście, którego używasz, jest poprawne, ale trochę przestarzałe. Od HoneyComb
istnieje nowy sposób, aby to wszystko naprawić. Twój folder zasobów powinien teraz wyglądać tak:
Proszę zapoznać się z zamieszczonym przeze mnie linkiem i zapoznać się z koncepcją Smallest Width
.
Mam nadzieję, że to pomoże:)
EDIT: dodając do tego posta, spróbuj ustanowić jakąś standaryzację w swoim dimens.xml
, coś w rodzaju to:
dimen
. Normalnie zamiast mieć values-hdpi
, values-xhdpi
, itd. pliki takie jak values-sw480dp-xhdpi
mogą mieć więcej wartości do dostosowania, ale z drugiej strony wszystko to jest kontekstowe.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-08-21 08:46:39
Utwórz pojedynczy układ dla domyślnych ekranów 4,7 cala (hdpi) w folderze układ i wymiary w folderze wartości. To jest Twój Superset .
Teraz powiedzmy, że chcesz swoje układy dla urządzeń 7inch. Tworzenie wartości-folder sw600dp dla 7 cali w orientacji pionowej
Teraz powiedzmy, że chcesz, aby Twoje układy dla urządzeń 10-calowych tworzyły wartości-folder dw720dp
Uwaga: - dla krajobrazu wystarczy dodać "- land " przed nazwami folderów.
Teraz powiedzmy, że masz nowe urządzenia takie jako Xperia SP (4.7 'i XHDPI) oraz Nexus 5 (5" i XXHDPI).
W tym celu można utworzyć foldery values-xhdpi i values-xxhdpi oraz podobne add-land dla orientacji poziomej..
Mam nadzieję, że masz rację, jak tworzyć foldery..
Teraz twój superset jest zdefiniowany w folderze values. Większość wymiarów będzie używana tylko tutaj. Teraz uruchom aplikację na innych urządzeniach. Jakiekolwiek rozbieżności występują po prostu dodać, że określony wymiar w ich odpowiednich wartościach folder
Aby sprawdzić, z którego folderu są używane Twoje layouty, obrazy, użyj my trick.
Utwórz pięć takich samych łańcuchów i umieść w nich wszystkie foldery wartości w ten sposób :- Domyślny Ekran Screen 4.7 Ekran XHDPI Ekran MDPI
Utwórz pięć folderów drawable, większość z nich już tam będzie:-drawable-hdpi, drawable-mdpi, drawable-xhdpi, drawable-xxhdpi, drawable-xxxhdpi Umieść poniższe screeny w odpowiednim folderze pod tym samym Nazwa
Tak wygląda mój folder res i obsługuję wszystkie urządzenia z ekranu 4.7 i wyżej: -
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
2014-01-24 04:08:41
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<!-- Various Text Sizes -->
<dimen name="text_size_extra_small">10sp</dimen>
<dimen name="text_size_small">12sp</dimen>
<dimen name="text_size_medium">14sp</dimen>
<dimen name="text_size_normal">16sp</dimen>
<dimen name="text_size_large">18sp</dimen>
<dimen name="text_size_extra_large">20sp</dimen>
<dimen name="text_size_super_large">50sp</dimen>
<dimen name="text_size_super_extra_large">70sp</dimen>
<!-- Various Paddings -->
<dimen name="padding_very_short">2dp</dimen>
<dimen name="padding_short">5dp</dimen>
<dimen name="padding_medium">7dp</dimen>
<dimen name="padding_normal">10dp</dimen>
<dimen name="padding_long">35dp</dimen>
<dimen name="padding_long_gamename">55dp</dimen>
<dimen name="padding_extra_long">15dp</dimen>
<!-- Various Margins -->
<dimen name="margin_very_short">5dp</dimen>
<dimen name="margin_med_short">5dp</dimen>
<dimen name="margin_short">10dp</dimen>
<dimen name="margin_meium">15dp</dimen>
<dimen name="margin_short_player_review">10dp</dimen>
<dimen name="margin_meium_player_review">15dp</dimen>
<dimen name="margin_normal">20dp</dimen>
<dimen name="margin_long">25dp</dimen>
<dimen name="margin_vshape">25dp</dimen>
<!-- Various Width -->
<dimen name="width_extra_min">120dp</dimen>
<dimen name="width_profile_messages_images">70dp</dimen>
<dimen name="width_half">240dp</dimen>
<dimen name="width_normal">300dp</dimen>
<dimen name="width_extra_large">360dp</dimen>
<dimen name="width_popup_window">180dp</dimen>
<!-- Various Height -->
<dimen name="height_very_short_shadow">1dp</dimen>
<dimen name="height_short">40dp</dimen>
<dimen name="width_ListHalf">260dp</dimen>
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
2017-10-16 15:12:27