Como saber qual Layout usar

Como saber qual Layout definir de acordo com tamanho da tela?

Os arquivos de Layout(XML) é definido pelas pastas onde estão:

layout-xlarge - telas de ao menos 960dp x 720dp
layout-large - telas de ao menos 640dp x 480dp
layout-normal - telas de ao menos 470dp x 320dp
layout-small - telas de ao menos 426dp x 320dp

Mas e no código Java como posso fazer?
Dependendo do tamanho da tela quero usar o LinearLayoutManager ou o GridLayoutManager para o Recyclerview. Então em tempo de execução como posso saber qual vou usar??

Crie uma pasta values-large e dentro dela crie um arquivo “screen.xml” e dentro dele coloque o código:

<resources>
    <bool name="isTablet">true</bool>
</resources>

Agora dentro da sua pasta “values” normal crie o mesmo arquivo e coloque o código:

<resources>
    <bool name="isTablet">false</bool>
</resources>

Já dentro da sua activity insira o código:

boolean tabletSize = getResources().getBoolean(R.bool.isTablet);
if (tabletSize) {
    // use o código para tablet
} else {
    // use código para celular
}
2 curtidas

Valeu, só uma dúvida:

A partir de layout-large já é Tablet?

É sim! =)