Vairāk
Iegūt ekrāna izmērus pikseļos
Es izveidoju dažus pielāgotus elementus un vēlos tos programmatiski novietot augšējā labajā stūrī (n
pikseļu attālumā no augšējās malas un m
pikseļu attālumā no labās malas). Tāpēc man ir jāiegūst ekrāna platums un ekrāna augstums un pēc tam jānosaka pozīcija:
int px = screenWidth - m;
int py = screenHeight - n;
Kā iegūt ekrāna platumu
un ekrāna augstumu
galvenajā darbībā?
1797
3
Ja vēlaties iegūt displeja izmērus pikseļos, varat izmantot
getSize
:Ja neatrodaties
Aktivitātē
, varat iegūt noklusējumaDisplay
, izmantojotWINDOW_SERVICE
:Ja esat fragmentā un vēlaties to izdarīt, vienkārši izmantojiet Activity.WindowManager (Xamarin.Android) vai getActivity().getWindowManager() (java).
Pirms
getSize
ieviešanas (API 13. līmenī) varēja izmantotgetWidth
ungetHeight
metodes, kas tagad ir atceltas:Tomēr jūsu aprakstītajam lietošanas gadījumam piemērotāka šķiet izkārtojuma rezerve/izvietojums.
Cits veids ir: DisplayMetrics
Mēs varam izmantot
widthPixels
, lai iegūtu informāciju par:Piemērs:
Viens no veidiem ir:
Tas ir novecojis, un tā vietā jāizmēģina šāds kods. Pirmās divas koda rindas sniedz
DisplayMetrics
objektus. Šie objekti satur tādus laukus kāheightPixels
,widthPixels
.Vispirms iegūstiet skatījumu (piemēram, ar
findViewById()
) un pēc tam varat izmantot getWidth() pašam skatam.