0

Я в значительной степени смущен прямо сейчас. Я попытался сделать разные изображения и поместить их в соответствующую папку (xhdpi, ldpi), но мое приложение не работает для каждого типа устройства от 2.7 "до 10". Поэтому я решил сделать разные макеты для разных размеров экрана. Я получаю размер устройства в дюймах от этого code-Макеты на основе размера устройства

DisplayMetrics dm = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(dm); 
double x = Math.pow(dm.widthPixels/dm.xdpi,2); 
double y = Math.pow(dm.heightPixels/dm.ydpi,2); 
double screenInches = Math.sqrt(x+y); 
Log.d("debug","Screen inches : " + screenInches); 

Теперь я хочу, что, если размер устройства имеет около 2.7" позволяет сказать мое приложение начать использовать макеты из пользовательской папки. Возможно ли это?

+2

http://developer.android.com/guide/practices/screens_support.html – httpdispatch

+0

см. Мой ответ http://stackoverflow.com/questions/16668271/android-universal-app-approach/16669294#16669294 –

+0

создание различных макет не является хорошей практикой. Используйте только один макет и убедитесь, что ваши виджеты расположены/выровнены без какого-либо жестко заданного значения. –

ответ

0

Вы можете включить тег на виджетах в одном из файла макета с различными классификаторами и проверить эти метки во время выполнения

layout-large/layout1.xml: 
    <Button 
    android:id="@+id/btn1" 
    ... 
    android:tag="large" /> 

layout-small/layout1.xml: 
    <Button 
    android:id="@+id/btn1" 
    ... 
    android:tag="small" /> 

Проверьте их во время выполнения:.

findViewById(R.id.btn1).getTag().toString() 
Смежные вопросы