Jak działają współrzędne ekranu Androida?

Pracuję z Androidem Animation i odkryłem, że system współrzędnych Androida jest dość mylący, więc jestem tutaj, aby zadać to pytanie o to, jak działają współrzędne w Androidzie. Podążam za tym obrazem, aby przenieść jeden widok na drugi, ale wygląda na to, że nie działa: {]}

obraz

Author: rmtheis, 2012-07-14

2 answers

Tutaj wpisz opis obrazka

Ten obraz przedstawia zarówno orientację (Krajobraz/Portret)

Aby zdobyć MaxX i MaxY, Czytaj dalej.

Dla współrzędnych ekranu urządzenia z systemem Android, poniżej koncepcja będzie działać.

Display mdisp = getWindowManager().getDefaultDisplay();
Point mdispSize = new Point();
mdisp.getSize(mdispSize);
int maxX = mdispSize.x; 
int maxY = mdispSize.y;

Edycja: - * * * * dla urządzeń obsługujących poziom API Androida starszy niż 13. Można użyć poniższego kodu.

    Display mdisp = getWindowManager().getDefaultDisplay();
    int maxX= mdisp.getWidth();
    int maxY= mdisp.getHeight();

(x, y): -

1) (0,0) jest w lewym górnym rogu.

2) (maxX, 0) jest prawym górnym rogu

3) (0,maxY) to dno lewy róg

4) (maxX, maxY) to prawy dolny róg

Tutaj maxX i maxY to maksymalna wysokość i szerokość ekranu w pikselach, które pobraliśmy w powyższym kodzie.

 247
Author: AAnkit,
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-06-17 06:08:02

Dla Android API poziom 13 i trzeba użyć tego:

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int maxX = size.x; 
int maxY = size.y;

Następnie (0,0) jest lewym górnym rogu i (maxX,maxY) jest prawym dolnym rogu ekranu.

Jest to metoda, która pozwala na wyświetlanie obrazu z dowolnego miejsca na ekranie.]}

Ponadto getwidth () i getHeight () są metodami android.widok.Widok klasa w android.So gdy twoja klasa java rozszerza klasę View, nie ma żadnych kosztów ogólnych windowManager.

          int maxX=getwidht();
          int maxY=getHeight();
To takie proste.
 16
Author: vids,
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
2018-10-01 06:17:01