További
Képernyőméretek lekérdezése pixelben
Létrehoztam néhány egyéni elemet, és programozottan a jobb felső sarokba akarom helyezni őket (n
pixelre a felső szélétől és m
pixelre a jobb szélétől). Ezért meg kell kapnom a képernyő szélességét és magasságát, majd be kell állítanom a pozíciót:
int px = screenWidth - m;
int py = screenHeight - n;
Hogyan kapom meg a screenWidth
és screenHeight
értékeket a fő Activity-ben?
1797
3
Ha a megjelenítési méreteket pixelben szeretné megadni, használhatja a
getSize
parancsot:Ha nem egy
Activity
-ben vagy, akkor aWINDOW_SERVICE
segítségével megkaphatod az alapértelmezettDisplay
értéket:Ha egy fragmentumban vagy és ezt szeretnéd elérni, akkor használd az Activity.WindowManager-t (Xamarin.Androidban) vagy a getActivity().getWindowManager() (java-ban).
A
getSize
bevezetése előtt (az API 13. szintjén) agetWidth
ésgetHeight
módszereket használhattad, amelyek mára elavultak:Az Ön által leírt felhasználási esethez azonban megfelelőbbnek tűnik egy margó/tömés az elrendezésben.
Egy másik lehetőség a következő: DisplayMetrics
A
widthPixels
segítségével információt kaphatunk a következőkről:Példa:
Az egyik módja:
Ez elavult, és helyette a következő kódot kell kipróbálnod. Az első két sor kód a
DisplayMetrics
objektumokat adja. Ez az objektum olyan mezőket tartalmaz, mint aheightPixels
,widthPixels
.Először szerezd meg a nézetet (pl. a
findViewById()
segítségével), majd használd a getWidth() parancsot magára a nézetre.