Drawable-hdpi, Drawable-mdpi, Drawable-ldpi Android

83

Pracowałem na Androidzie 1.5, ale teraz przeniosłem się na najnowszą wersję. Tak więc w systemie Android 1.5 jest tylko jeden folder „do rysowania”, ale teraz są trzy różne foldery do przechowywania obrazów w projekcie systemu Android.

I znalazłem kilka artykułów dla tych trzech folderów, które mówią

  1. hdpi oznacza wysoką rozdzielczość
  2. mdpi oznacza średnią rozdzielczość
  3. ldpi oznacza niską rozdzielczość

Ale jaki jest dokładny cel tych trzech folderów i kiedy powinienem używać określonego folderu do przechowywania obrazów?

Paresh Mayani
źródło
1
może ten link pomoże ci stackoverflow.com/questions/16706076/ ...
Bhavesh Jethani

Odpowiedzi:

27

Aby zadeklarować różne układy i mapy bitowe, których chcesz używać na różnych ekranach, musisz umieścić te alternatywne zasoby w oddzielnych katalogach / folderach.

Oznacza to, że jeśli generujesz 200x200obraz dla xhdpiurządzeń, powinieneś wygenerować ten sam zasób w 150x150dla hdpi, 100x100dla mdpii 75x75dla ldpiurządzeń.

Następnie umieść pliki w odpowiednim katalogu zasobów do rysowania:

MyProject/
    res/
        drawable-xhdpi/
            awesomeimage.png
        drawable-hdpi/
            awesomeimage.png
        drawable-mdpi/
            awesomeimage.png
        drawable-ldpi/
            awesomeimage.png

Za każdym razem, gdy się odwołujesz @drawable/awesomeimage, system wybiera odpowiednią bitmapę na podstawie gęstości ekranu.

Neha Mangla
źródło
6
Tylko dodatek - [zalecany] stosunek między ldpi, mdpi, hdpi i xhdpi wynosi 3: 4: 6: 8. To wyjaśnia, jak powstały wartości obrazu w odpowiedzi.
kehers
0

Mam jedno dobre rozwiązanie. Tutaj załączyłem go jako obrazek poniżej. Więc spróbuj. Może ci się przydać ...!

Tutaj wprowadź opis obrazu

jigar
źródło
9
ta odpowiedź powinna być tekstem
SMUsamaShah