Веб-разработка Android ... Ширина деления (скорее всего, внутренний текст) изменяется в пикселях в зависимости от масштаба устройства - PullRequest
6 голосов
/ 26 июля 2010

Я разработал приложение, которое взаимодействует с системой аварийного оповещения учреждения.Как это работает, когда на всех веб-страницах учреждения появляется предупреждение, в верхней части страницы отображается бегущая строка, которую помещает javascript с использованием прототипа и scriptaculous.

Все это работаетотлично подходит для настольных браузеров (IE6-8, Chrome, Safari, Firefox, Opera).Это также хорошо работает на iPhone.Моя единственная проблема - это рендеринг на Android.

При первоначальном исследовании проблемы я обнаружил свойство CSS для мобильных устройств (а именно webkit) -webkit-text-size-Adjust, которое не позволяет мобильным устройствам изменять размер текста примасштабирование и изменение ориентации экрана.Я установил для этого свойства значение none, как указано во многих статьях.

Ниже приведен снимок экрана с эмулятором Android.Снимок экрана слева показывает 1-кратное увеличение страницы.Интервал между каждым сообщением такой, каким он должен быть.Снимок экрана справа показывает увеличенную страницу. Сообщения перекрываются, поскольку размер текста отображается по-разному, а ширина div недостаточно велика, чтобы вместить текст.

http://www.themonkeyonline.com/spacing-example.jpg

Вот код, который помещает div на страницу:

var marquee = new Element( 'div', { 'id' : 'marquee' + marquee_counter } )
 .setStyle( { 'display' : 'block'
  , 'WebkitTextSizeAdjust' : 'none'
  , 'fontSize' : '12px'
  , 'lineHeight' : '25px'
  , 'left' : $( marquee_container ).getDimensions().width + 'px' } )
 .addClassName( 'marquee_text' )
 .update( marquee_text );
$( marquee_container ).insert( marquee );

Есть ли что-то, чего мне не хватает?

Я буду продолжать исследовать проблему в настоящее время.Спасибо всем, кто все это прочитал.


Краткое обновление ... после дополнительных испытаний выясняется, что проблема не обязательно связана с увеличением.Похоже, что проблема в области просмотра.Я проверил действительно длинный текст и даже полностью уменьшил масштаб, он перекрылся.Кажется, что div, содержащий текст, не будет иметь размер больше, чем окно.


Вот пример кода в действии:

http://elliottr.www -dev.seminolestate.edu/alert/

Ответы [ 2 ]

1 голос
/ 30 сентября 2010

Не могли бы вы опубликовать ссылку на демонстрационную страницу, где возникает эта проблема? Я пытался воспроизвести его на своем Milestone, но не смог.

0 голосов
/ 29 сентября 2010

Попробуйте установить ширину, чтобы ограничить размер div (вам также нужно будет установить position: относительный) и установить overflow: hidden, чтобы текст не превышал размер div

...