Intereting Posts
Сделайте один IAP действительным для разных приложений Параметры внешней камеры Android – наложение поверх видеопотока, отсутствие промежуточного сервера / маршрутизатора Проблемы с макетами на разных экранах Как воссоздать все фрагменты в ViewPager: Как установить драйвер USB для Nexus One в Windows 7 для отладки? Правильный способ проверки всех флажков в ListView? Как открыть навигационный ящик без панели действий, открыть с помощью одной кнопки Ошибка IabHelper Android (NullPointerException) launchPurchaseFlow? Не удалось выполнить dex: java.nio.BufferOverflowException. Проверьте журнал Eclipse для отслеживания стека Есть ли способ установить алгоритм рисования с помощью XML? Picasso загружает изображения в неправильное изображение в адаптере списка Подписка на темы с токеном Google Cloud Messenger, Недействительный аргумент Создание пользовательского уведомления, андроида Высота сетки GridView Может ли запуск службы намерения несколько раз в быстрой последовательности вызывать ненужные дополнения?

Дать прокладку с помощью setPadding с модулем dip unit not px

Метод

public void setPadding (int left, int top, int right, int bottom) someview.setPadding(1,1,1,1); 

Это даст заполнение с 1px в каждой стороне. Как я могу дать 1dip вместо 1px?

Значения слева, справа вверху и внизу находятся в пикселях, как я могу давать значения программным образом в коде в dip?

благодаря

Solutions Collecting From Web of "Дать прокладку с помощью setPadding с модулем dip unit not px"

Используйте следующий код для получения пикселей от заданного значения в dp .

 Resources res = getResources(); float value = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, valueInDP, res.getDisplayMetrics()); 

Где valueInDP – значение в dp, и это вернет соответствующее значение пикселя в соответствии с плотностью экрана.

Или вы можете использовать следующие –

 float value = valueInDP * getResources().getDisplayMetrics().density; 

В чем разница между «px», «dp», «dip» и «sp» на Android?

 float scale = context.getResources().getDisplayMetrics().density; int dpAsPixels = (int) (your_dp_goes_here * scale + 0.5f); view.setPadding(dpAsPixels , dpAsPixels , dpAsPixels , dpAsPixels ); view.setPaddingRelative(dpAsPixels , dpAsPixels , dpAsPixels , dpAsPixels ); 
 getListView().setPadding(50,50,50,50);