Como faço para obter a largura máxima de um dispositivo e altura no android
Pergunta
Oi Eu tenho um problema ao criar uma exibição personalizada para uma aplicação Android. Minha exibição personalizada quer usar se for permitido a largura da tela máxima. Eu não poderia encontrar alguma maneira de recuperar esse valor.
Alguém pode me aponte para o método certo?
Solução
Tente
mWinMgr = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
int displayWidth = mWinMgr.getDefaultDisplay().getWidth();
onde o contexto é exemplo Context
.
Por padrão, o FrameLayout
em que o seu layout é mantido, enche toda a tela na horizontal (vertical você pode ter barra de status). Então você pode definir a largura máxima possível usando android:layout_width="fill_parent"
corretamente.
Outras dicas
Aqui é um boa resposta :
mWinMgr.getDefaultDisplay().getWidth();
// getWidth () e getHeight () métodos são desatualizados agora
Você pode obter largura e altura da seguinte forma:
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
DisplayMetrics size = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(size );
int w = size .widthPixels;
int h = size .heightPixels;
WindowManager window = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
window.getDefaultDisplay().getMetrics(dm);
= devicewidth (dm.widthPixels);