Вниз  Android-программирование (1-ые посты)
- 16.03.2014 / 13:46
usb_device
  Пользователь

usb_device 
Сейчас: Offline
aNNiMON, может туплю, но что передавать в float dp ?
- 16.03.2014 / 13:50
samodelkin
  Пользователь

samodelkin 
Сейчас: Offline
usb_device, дп- независимые пиксели.
- 16.03.2014 / 13:52
samodelkin
  Пользователь

samodelkin 
Сейчас: Offline
Передаешь их методу Виктора и на выходе получаешь количество пикселей.
- 16.03.2014 / 13:53
usb_device
  Пользователь

usb_device 
Сейчас: Offline
samodelkin, типа так?

  float dp=context.getResources().getDisplayMetrics().densityDpi;
         DisplayMetrics dM = new DisplayMetrics();
         pix=(int)convertDpToPixel(dp,dM);
- 16.03.2014 / 14:00
samodelkin
  Пользователь

samodelkin 
Сейчас: Offline
usb_device, первая строка лишняя, а в третьей вместо "dp" нужный размер в независимых пикселях вписывай, например 100, и в переменной pix будет размер в простых пикселях.

Изменено samodelkin (16.03 / 14:02) (всего 2 раза)
- 16.03.2014 / 14:04
usb_device
  Пользователь

usb_device 
Сейчас: Offline
samodelkin, аа. Вот как, я просто подумал что туда нужно какое то системное значение передавать. Теперь понятно. Спасибо!
- 16.03.2014 / 14:08
samodelkin
  Пользователь

samodelkin 
Сейчас: Offline
usb_device, не за что. У Виктора Аннимона есть методы на все случаи. ;-)
- 16.03.2014 / 14:21
usb_device
  Пользователь

usb_device 
Сейчас: Offline
странно, если использую метод то возвращает 0. Но если вместо metrics.densityDpi пропишу значение моего экрана, а это 240 то возвращает какое то значение.
- 16.03.2014 / 14:24
samodelkin
  Пользователь

samodelkin 
Сейчас: Offline
usb_device, там не надо создавать наверно метрику, а надо получить с помощью метода гетдисплей метрикс.

Изменено samodelkin (16.03 / 14:25) (всего 1 раз)
- 16.03.2014 / 14:26
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
usb_device, DisplayMetrics dM = new DisplayMetrics(); так не делают.
Написал же getResources().getDisplayMetrics()

То есть: pix = (int) convertDpToPixel(dp, getResources().getDisplayMetrics());

Если уж совсем туго будет, тогда вот тебе подсказка. Ты использовал 100 и 50 как значение пикселей, а теперь тебе надо будет сравнивать с возвращенными значениями.
Грубо говоря так:
if (x - prevX > convertDpToPixel(100, getResources().getDisplayMetrics())) { .. }
Только лучше закешируй это значение, чтоб не дёргать метрику.
__________________
 let live

Изменено aNNiMON (16.03 / 14:27) (всего 1 раз)
Наверх  Всего сообщений: 4453
Фильтровать сообщения
Поиск по теме
Файлы топика (184)