Android – Como usar medidas DP, SP programaticamente (Use DIP, SP metrics programmatically)

Android minimizar

As unidades de medidas estão para facilitar nossa programação para diferentes telas, para definir no XML é bem simples, basta inserir a medida e depois a unidade (android:layout_width=”100dp”), porem quando vamos fazer programaticamente, por padrão a medida aceita é dada por PX (pixel).

O objectivo é o de calcular o número de pixels de acordo com um determinado valor na unidade escolhida. A baixo transformamos o valor de 20dp na quantidade de PX equivalente.

TextView tv0 = new TextView(this);
int px = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20, getResources().getDisplayMetrics());
tv0.setWidth(px);

Se você quiser as métricas em SP, por exemplo, você só precisa mudar o TypedValue de TypedValue.COMPLEX_UNIT_DIP para TypedValue.COMPLEX_UNIT_SP ou qualquer outra métrica que você deseja usar.

Lembre-se de utilizar corretamente as unidades (veja aqui).

Help DEV – Analista desenvolvedor Java / Android
https://helpdev.com.br/zarelli

Android – Como usar medidas DP, SP programaticamente (Use DIP, SP metrics programmatically)

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Rolar para o topo