Представления Android выглядят по-разному при доступе через JAR в библиотеках - PullRequest
1 голос
/ 13 июля 2011

Я работаю над многоразовой библиотекой для Android. Библиотека будет включать в себя активность, которую разработчики могут использовать в своих приложениях.

Планируется распространять библиотеку в виде JAR. Следовательно, я выкладываю представления во время выполнения в моей Activity onCreate (), так как не могу использовать ресурсы XML.

Тем не менее, я замечаю это странное поведение, когда между моей деятельностью в двух контекстах есть тонкие различия в размерах:

  1. Я запускаю свой проект, непосредственно запускаю Activity (определение манифеста LAUNCHER).
  2. Я заархивирую классы своего проекта в JAR и импортирую этот JAR в другой проект Android (тестирую, что будут делать другие разработчики). Этот обёрточный проект запускает намерение для моей Деятельности.

С чего бы это?

Я вижу, что импортированная версия lib (2) выглядит на меньше . Это некоторый коэффициент масштабирования, применяемый к случаю прямого запуска (1), который не применяется к импортированной библиотеке.

Я пытался:

  1. убедившись, что все мои размеры указаны в DiPs
  2. преобразование значений DiPs в масштабированное представление размеров с использованием getWindowManager().getDefaultDisplay().getMetrics() и TypedValue.applyDimension()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...