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?

Author: Community, 2014-01-22

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:

Tutaj wpisz opis obrazka

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:

Tutaj wpisz opis obrazka

Dzięki temu łatwiej jest utrzymać kod, a także zmniejsza się liczba folderów 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.
 73
Author: Rakeeb Rajbhandari,
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

Tutaj wpisz opis obrazkaTutaj wpisz opis obrazkaTutaj wpisz opis obrazkaTutaj wpisz opis obrazkaTutaj wpisz opis obrazka

Tak wygląda mój folder res i obsługuję wszystkie urządzenia z ekranu 4.7 i wyżej: -

Tutaj wpisz opis obrazka

 14
Author: Rahul Gupta,
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>

 -9
Author: amod choubey,
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