Неправильный размер Android DIP

Этот одурачивает меня. Что я пропускаю? Мне нужна кнопка шириной ровно в один дюйм на любом экране плотности. Я заявляю это в макете следующим образом:

<Button  
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:width="160dip"
android:text="How wide?"
/>

Я получаю кнопку шириной 7/8 дюйма на всех экранах, а не ожидаемый 1 дюйм. Разница может быть, поле или отступ вокруг кнопки? Если так, как установить это в ноль?

2 ответа

Решение

dip основаны на виртуальных плотностях, а не на реальных физических плотностях. Например, на T-Mobile G1 физическая плотность дисплея устройства составляет около 180 точек на дюйм, но мы рассматриваем его как дисплей с разрешением 160 точек на дюйм. В настоящее время Android использует 3 "сегмента плотности", 120, 160 и 240. Каждое устройство использует все, что является наиболее подходящим. Если вы хотите точные физические измерения, используйте физические единицы, такие как дюймы, мм и т. Д.

Как насчет этого?

android:layout_width="1in"
Другие вопросы по тегам