Obter as dimensões da tela em pixels
Eu criei alguns elementos personalizados, e quero programá-los para o canto superior direito (n
pixels from the top edge e m
pixels from the right edge). Portanto, preciso obter a largura e altura da tela e depois definir a posição:
int px = screenWidth - m;
int py = screenHeight - n;
Como obter "largura de tela" e "altura de tela" na atividade principal?
1797
3
Se você quiser as dimensões de exibição em pixels você pode utilizar getSize':
Se você não estiver em uma
Atividade
você pode obter oDisplay
padrão viaWINDOW_SERVICE
:Se você estiver em um fragmento e quiser realizar isso basta usar Activity.WindowManager (em Xamarin.Android) ou getActivity().getWindowManager() (em java).
Antes de 'getSize' ser introduzido (no nível 13 da API), você podia utilizar os métodos 'getWidth' e 'getHeight' que agora são depreciados:
Para o caso de uso que você está descrevendo, no entanto, uma margem/padding no layout parece mais apropriado.
Outra maneira é: DisplayMetrics.
Podemos utilizar o
widthPixels
para obter informações:Exemplo:
Uma maneira é:
É depreciado, e você deve tentar o seguinte código. As duas primeiras linhas de código dão-lhe o objecto
DisplayMetrics'. Estes objetos contêm os campos como
heightPixels,
widthPixels`.Primeiro obtenha view (por exemplo, por
findViewById()
) e então você pode utilizar getWidth() na própria view.