Compartilhar via


Display.GetRealMetrics(DisplayMetrics) Método

Definição

Obtém o tamanho da maior região da tela acessível a um aplicativo no estado atual do sistema, sem subtrair nenhuma decoração de janela ou aplicar fatores de dimensionamento.

[Android.Runtime.Register("getRealMetrics", "(Landroid/util/DisplayMetrics;)V", "GetGetRealMetrics_Landroid_util_DisplayMetrics_Handler")]
public virtual void GetRealMetrics(Android.Util.DisplayMetrics? outMetrics);
[<Android.Runtime.Register("getRealMetrics", "(Landroid/util/DisplayMetrics;)V", "GetGetRealMetrics_Landroid_util_DisplayMetrics_Handler")>]
abstract member GetRealMetrics : Android.Util.DisplayMetrics -> unit
override this.GetRealMetrics : Android.Util.DisplayMetrics -> unit

Parâmetros

outMetrics
DisplayMetrics

Um DisplayMetrics objeto para receber as métricas.

Atributos

Comentários

Obtém o tamanho da maior região da tela acessível a um aplicativo no estado atual do sistema, sem subtrair nenhuma decoração de janela ou aplicar fatores de dimensionamento.

O tamanho é ajustado com base na rotação atual da tela.

O tamanho retornado cairá em um destes cenários: <ol><li>O dispositivo não tem partições na tela. O valor retornado é a maior região da exibição acessível a um aplicativo no estado atual do sistema, independentemente do modo de janela.</li><li>O dispositivo divide uma única tela em várias partições. Um aplicativo é restrito a uma parte da tela. Isso é comum em dispositivos em que a tela muda de tamanho, como dobráveis ou telas grandes. O tamanho retornado corresponderá à parte da exibição à qual o aplicativo está restrito.</li><li>O gerenciador de janelas está emulando um tamanho de exibição diferente, usando adb shell wm sizeo . O tamanho retornado corresponderá ao tamanho de exibição emulado.</li></ol></p>

O valor retornado é <b>inadequado para uso ao dimensionar e colocar elementos< da interface do usuário/b>, pois não reflete o tamanho da janela do aplicativo em nenhum desses cenários. WindowManager#getCurrentWindowMetrics() é uma alternativa que retorna o tamanho da janela do aplicativo atual, mesmo se a janela estiver em um dispositivo com uma exibição particionada. Isso ajuda a evitar bugs da interface do usuário em que os elementos da interface do usuário estão desalinhados ou colocados além dos limites da janela.

Lidar corretamente com o modo de várias janelas é necessário, já que os aplicativos nem sempre estão em tela cheia. Um usuário em um dispositivo de tela grande, como um tablet ou dispositivos ChromeOS, é mais propenso a usar modos de várias janelas.

Por exemplo, considere um dispositivo com uma tela particionada em duas metades. O usuário pode ter um aplicativo de tela cheia aberto na primeira partição. Eles podem ter dois aplicativos abertos em tela dividida (um exemplo de modo multi-janela) na segunda partição, com cada aplicativo consumindo metade da partição. Nesse caso, WindowManager#getCurrentWindowMetrics() informa que a janela de tela cheia tem metade do tamanho da tela, e cada janela de tela dividida tem um quarto da tela de tamanho. Por outro lado, #getRealMetrics informa metade do tamanho da tela para todas as janelas, já que as janelas do aplicativo são todas restritas às suas respectivas partições. </p>

Este membro foi preterido. Use WindowManager#getCurrentWindowMetrics() para identificar o tamanho atual da janela de atividade. O trabalho relacionado à interface do usuário, como a escolha de layouts de interface do usuário, deve contar com o WindowMetrics#getBounds(). Use Configuration#densityDpi para obter a densidade de corrente.

Documentação Java para android.view.Display.getRealMetrics(android.util.DisplayMetrics).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a