2010-07-26 14 views
6

Bir kurumun acil durum uyarı sistemi ile arayüz oluşturan bir uygulama geliştirdim. Nasıl çalışır, bir uyarı olduğunda, tüm kurumun web sayfalarında, prototip ve scriptaculous kullanarak javascript tarafından orada yerleştirilen sayfanın üst kısmında bir kayan kayan yazı görüntülenir.Android Web Geliştirme ... Div genişliği (büyük olasılıkla iç metin) cihazın yakınlaştırmasına göre piksel cinsinden değişiyor

Tüm bunlar, masaüstü tarayıcılarda mükemmel bir şekilde çalışır (IE6-8, Chrome, Safari, Firefox, Opera). Ayrıca iPhone'larda iyi çalışır. Tek sorunum, Android'deki görüntüdür.

Başlangıçta sorunu araştırırken, mobil aygıtları yakınlaştırırken ve ekran yönünü değiştirirken mobil aygıtları metnin yeniden boyutlandırmasını sağlayan mobil aygıtlar için bir CSS Özelliği (webkit) -webkit-metin boyutunda ayarlama yaptım. Bu özelliği birçok makalenin belirttiği gibi 'yok' olarak ayarladım.

Aşağıda, bir Android emülatöründen ekran görüntüleri gösterilmektedir. Soldaki ekran görüntüsü, sayfanın 1x büyütme oranını gösterir. Mesajların her biri arasındaki boşluk olması gerektiği gibi. Sağdaki ekran görüntüsü, yakınlaştırılmış sayfayı gösterir. Metin boyutu farklı şekilde işlendiğinde ve div genişliği metni içerecek kadar geniş olmayan mesajlar çakışır. Eksik bir şey

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); 

var mı: İşte

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

sayfadaki div yerleştirir kod nedir?

Şu anda problemi araştırmaya devam edeceğim. Tüm bunları okuyan herkese teşekkürler.


Kısa bir güncelleştirme ... daha fazla test yaptıktan sonra sorunun mutlaka zoom'a bağlı olmadığı anlaşılıyor. Sorun, manzara görüntüsü gibi görünüyor. Gerçekten uzun metinleri test ettim ve hatta tüm yol boyunca uzandı, üst üste geldi. Metni içeren div, pencereden daha büyük boyutta olmayacak gibi görünüyor. ve set taşması:

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

cevap

1

Bu sorunun oluştuğu bir demo sayfasına bağlantı gönderebilir misiniz? Onu Milestone'ımda yeniden denedim, ama yapamadım.

+0

Dev alt ağımda bir test sayfası kurdum: http://elliottr.www-dev.seminolestate.edu/alert/ – Riley

+1

Bu garip. Android 2.1'i yatay ve dikey modda ve zoom seviyesinden bağımsız olarak çalıştıran Milestone cihazımda olması gerektiği gibi çalışır. – Daniel

+0

Teşekkür ederim Daniel.'WebkitTextSizeAdjust', 2.1'de bildirildiği gibi çalışıyor görünmektedir. Garip, geçen gün bir EVO üzerinde test ettim ve aynı sorunu vardı. Ancak, sadece bir DROID üzerinde test ettim ve düzgün çalışıyordu. – Riley

0

(göreceli de pozisyon ayarlamak gerekir): div boyutunu sınırlamak için bir genişlik ayarı deneyin: İşte


eylem kod örneği gizli Bu nedenle, metin div boyutunun ötesine geçmeyecek

+0

DIV'lerde genişlik ayarını test ettim. Hala aynı sorun vardı. Sistemin gerçek dünya uygulamasında, DIV'lerde mutlak genişliklerin ayarlanması geçerli bir seçenek değildir. DIV'ler, kesinlikle nispeten yerleştirilmiş bir elemanın içine yerleştirilmiştir. Bu, ekran boyunca onları "kaydırmak" için komut dosyasına izin veren şeydir. – Riley

+0

ve taşma işe yarıyor mu? –

+0

Taşma uygulama: divlara gizlenmiş teori çalışması. Ancak, metin değişken genişlik olduğundan, bu uygulama için gerçek bir dünya çözümü değildir. – Riley

İlgili konular