Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
danek130995
24 / 24 / 1
Регистрация: 25.05.2014
Сообщений: 879
#1

Единицы измерения Android - Программирование Android

30.11.2015, 12:22. Просмотров 281. Ответов 7
Метки нет (Все метки)

Здесь пишут, что
in, mm и pt – неизменны относительно друг друга. Всегда 1 in = 25,4 mm и 1 in = 72 pt. Это классические единицы измерения. Т.е. задаете, например, кнопке ширину = 1 in и она должна отобразиться шириной в один дюйм, независимо от разрешения и диагонали экрана.
Но ниже пишут, что
А кнопки с in, mm, pt и px статичны и на разных экранах выглядят по-разному
px понятно, почему по разному выглядят. Но почему дюймы и миллиметры? Я решил проверить, взял планшет и телефон. Измерил линейкой и действительно указанные см не совпадают с реальными! Почему так происходит? Ведь автор урока пишет, что
Т.е. задаете, например, кнопке ширину = 1 in и она должна отобразиться шириной в один дюйм, независимо от разрешения и диагонали экрана
Скажите пожалуйста, в чем я заблуждаюсь?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2015, 12:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Единицы измерения Android (Программирование Android):

Единицы измерения - Программирование Android
Не подскажете в функции elem.setLayoutParams(new LinearLayout.LayoutParams(100, 40)); значения 100 и 40 это в px или dp? В каких единицах?...

Единицы измерения задаваемые в коде - Программирование Android
Есть такой код listview1.LayoutParameters = new ViewGroup.LayoutParams(400, ViewGroup.LayoutParams.MatchParent); IDE подсвечивает...

Откуда берутся атрибуты android:layout_width и android:layout_height в элементе LinearLayout? - Программирование Android
Недавно начал изучать Android API, а сегодня более менее разобрал основы синтакиса XML. Затем стал разбирать следующий пример: ...

Ошибка: Caused by Android java.lang.ClassCastException: android.app.Application cannot be cast - Программирование Android
Здравствуйте. Очень нужен ваш совет. При запуске приложения появляется ошибка: Caused by: java.lang.ClassCastException:...

Android studio, как запускать программу сразу на android смартфоне подключенному к usb? - Программирование Android
android studio, как запускать программу сразу на android смартфоне подключенному к usb?

Android NDK. Как пользоваться? Когда стоит использовать его вместо Android SDK? - Программирование Android
Можно ли писать в нем готовые приложения Android?

7
Pablito
2534 / 2013 / 627
Регистрация: 12.05.2014
Сообщений: 7,067
Завершенные тесты: 1
30.11.2015, 14:01 #2
проверил у себя на самсунге и китайском планшете - 30 мм измерил линейкой- ровно 30 мм
1
danek130995
24 / 24 / 1
Регистрация: 25.05.2014
Сообщений: 879
30.11.2015, 14:39  [ТС] #3
Паблито, у меня 26,5 на телефоне HTC One V и 29 на планшете Xperia Tablet Z
0
Pablito
2534 / 2013 / 627
Регистрация: 12.05.2014
Сообщений: 7,067
Завершенные тесты: 1
30.11.2015, 15:21 #4
код?
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,663
Завершенные тесты: 1
30.11.2015, 15:55 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
danek130995, это все потому, что некоторые производители телефонов не очень добросовестно относятся к софту. В андроиде есть файлик, описывающий некоторые характеристики устройства, в нем есть параметр - количество точек на дюйм. Вот с этим параметром и мудрят обычно так, что потом все выглядит не так как должно.
1
danek130995
24 / 24 / 1
Регистрация: 25.05.2014
Сообщений: 879
30.11.2015, 17:31  [ТС] #6
Паблито,
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 
<Button 
android:id="@+id/button3" 
android:layout_height="wrap_content" 
android:layout_width="25.4mm" 
android:text="30 mm, default"> 
</Button> 
</LinearLayout>
0
Pablito
2534 / 2013 / 627
Регистрация: 12.05.2014
Сообщений: 7,067
Завершенные тесты: 1
30.11.2015, 17:33 #7
ну я так и предполагал
у кнопок по умолчанию нехилые отступы присутствуют, которые как померять если их не видно?

проверь на FrameLayout например
Единицы измерения Android
0
danek130995
24 / 24 / 1
Регистрация: 25.05.2014
Сообщений: 879
30.11.2015, 21:31  [ТС] #8
Паблито, проверил на FrameLayout- на планшете идеально, на HTC опять не дотягивает - на 2 мм. Что касается кнопки - я, видимо, не учел отступ. На планшете сейчас перемерил, ровно 30. На HTC 2 мм не хватает. Видимо, в HTC не добросовестно относятся к тому, о чем говорит Spelcrawler. Погрешность у него - 2 мм. Другое дело-Sony
0
30.11.2015, 21:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2015, 21:31
Привет! Вот еще темы с ответами:

Как приложение Android написать на С++ в Android NDK, чтоб получить *.apk? Нужен мануал - Программирование Android
Уже не в первый раз задаю вопрос. Молчание. В лучшем случае - &quot;RTFM&quot; и точка. Так вот, официального мануала, где есть ответ на...

Android.support.v4.app.FragmentActivity не работает в Android Studio - Программирование Android
объясните пожалуйста,как в андроид студио добавить вышеуказанную библиотеку,чтобы работало у меня вот это Активити package...

Выбор мощного android смартфона до 10 рублей, для тестирования проектов Android Studio, что посоветуете? - Программирование Android
Какую фирму посоветуете?

Запуск игры mr.Nom через Android Studio (по книге марио цехнер программирование игр под android) - Программирование Android
Привет всем! Для тех кто читал книгу - в конце 6ой главы мы закончили писать код игры. В книге написано что - игра готова. Но в самих...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.