Skocz do zawartości
pawelz22

Zmiana rozdzielczości ekranu

    Rekomendowane odpowiedzi

    Czy jest możliwa zmiana rozdzielczości ekranu w tworzonej aplikacji ? Przykładowo mój telefon ma rozdzielczość 1920x1080 , aplikacja którą piszę ma dosyć dużo grafik które po przeskalowaniu na Full HD bardzo obciążają telefon, chciałbym żeby moja aplikacja na telefonach z taką rozdzielczością wyświetlała się np. w 1280x720 .

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    asmok

    Wydaje mi się że masz złe podejście do tematu. Nie ma takiej opcji jak zmiana rozdzielczości ekranu, ale zupełnie do niczego nie jest potrzebna. Grafiki możesz przecież wrzucać w dowolnej rozdzielczości, a wyświetlać w takiej jak ci potrzebne. Mają się same skalować. Dopóki się nie rozmywa i nie pojawiają się jakieś artefakty przy skalowaniu to jest ok. Druga rzecz, to prawdopodobnie masz nieprzemyślane layouty jeśli potrzebujesz grafik pełnoekranowych. Przecież całą istotą robienia layoutów w androidzie jest to, że powtarzalne elementy grafiki trzymasz osobno i umieszczasz je na ekranie w zależności od potrzeb. A proste elementy, typu linie, jakieś gradienty itd w ogóle nie umieszczasz w grafikach tylko opisujesz xmlem. W dobrze zrobionym layoucie w ogóle nie interesują cię bezwzględne wymiary elementów, bo każdy element jest skalowany i umieszczony względem czegoś tam innego i sam ma się wyskalować zależnie od rozmiaru ekranu, dpi i ratio. Jeśli gdziekolwiek ustalasz rozmiar w px, to znaczy że zrobiłeś coś źle. Powinieneś operować jednostkami dp i wtedy rzeczywista rozdzielczość ekranu wcale cię nie interesuje.
     

    Edytowane przez asmok

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Mam to zrobione właśnie tak jak piszesz. Mam bardzo mało grafik pełnoekranowych 1 może 2, pozostałe są skalowane i przycięte. Staram się usuwać z pamięci te nie używane. Mimo wszystko przy szybszych animacjach, na niektórych telefonach z rozdzielczością Full HD widać przycinki, na telefonach z mniejszą rozdzielczością problem nie występuje. Dlatego właśnie myślałem o zmniejszeniu rozdzielczości ekranu w aplikacji.

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    asmok

    No to po prostu zmniejsz grafiki. Jeśli nie podajesz wymiarów w px to się same odpowiednio przeskalują. Przy rozdzielczości hd user raczej nie zauważy że ma dwa razy mniejszą rozdzielczość niż mógłby mieć.

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Właśnie podaje wymiary grafik w px. Skaluje je w zależności od rozdzielczości ekranu.

     

    Mam jeszcze jedno pytanie, a nie chce zakładać nowego tematu. Podczas niektórych animacji odtwarzam dźwięki za pomocą MediaPlayera i zauważyłem że powoduje to małe przycięcie się animacji. Miał ktoś z was taki problem? Da się go jakoś obejść?

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    asmok

    No to podawaj w dp albo po prostu uzywaj relativelayout i nie podawaj wymairów wprost. Większość komponentów ma też właściwości określające rodzaj skalowania.

    A co do MediaPlayera to nie mam pojęcia :)

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.