2010-05-06 8 views
32

Sono in procinto di sviluppare un'applicazione Web per cellulari. Sono andato con le applicazioni web, perché a me sembra una situazione vincente dover sviluppare un'applicazione in grado di funzionare anche su iPhone/ Windows Mobile/Palm eccApp Web Android: posizione: riparata?

ho iniziato il test di oggi, dopo un paio di giorni di fare i concetti, idee e disegni e quello che volevo fare era avere un menu che si attacca al fondo della pagina. Esattamente come il menu sul fondo in questo iPhone applicazione screenshot:

enter image description here

usando CSS, ho pensato che sarebbe stato davvero facile da fare questo. Solo usando la posizione : fissa; bottom: 0; avrebbe fatto il trucco, ma ho trovato non si comporta lo stesso su browser per dispositivi mobili

ho cercato di dividere la mia pagina in 2 sezioni: 1 sarebbe un div scorrevole (per il contenuto) e l'altro sarebbe il menu in basso. Le immersioni scorrevoli non funzionano anche su Android. Ho anche provato a usare i telai senza fortuna. Qualcuno sa di un modo per ricreare un menu che si attaccherebbe alla fine di una pagina per i telefoni cellulari?

+3

hai detto che avresti postato indietro se una delle soluzioni ha funzionato - ho un problema simile e vorrei sapere quale opzione provare - grazie! –

+0

Anch'io. Grazie. –

risposta

50

Sul mio N1 Android con CyanogenMod ho avuto questo problema troppo e la correzione:

<meta 
    name="viewport" 
    content="width=100%; 
      initial-scale=1; 
      maximum-scale=1; 
      minimum-scale=1; 
      user-scalable=no;" 
    /> 

In particolare la parte user-scalable=no;, si può anche mettere 0 invece di no.

È interessante notare come questo interrompe il rendering di pulsanti di androids, ma tutto ciò che si deve fare è impostare un colore di sfondo sui pulsanti.

+0

Posso confermare che funziona con Android. – Xavier

+2

Ho avuto molti problemi su molti dispositivi usando scalabile dall'utente = no. Usando questo ho notato che le caselle di selezione diventano completamente inutilizzabili. – stephenmuss

+3

Si noti che la sintassi corretta per l'attributo del meta contenuto della vista utilizza una virgola per separare i valori, non un punto e virgola. – drzax

1

Appena ricevuto un upgrade ad Android 2.2 (Froyo) sul mio HTC Desire, e sono felice di dire che la posizione fissa ora lavora, almeno quando si utilizza il meta tag viewport per impostare la scala e la larghezza iniziali. Ancora non sembra funzionare su normali pagine web però.

15

Basta aggiungere:

<meta name="viewport" content="width=device-width, user-scalable=no" /> 

alla pagina e il gioco è fatto per Android 2.2+. Questo ha funzionato su una pagina che stavo testando sul mio telefono. Fonte: When can I use CSS position:fixed?

+1

Si noti che questo impedirà agli utenti di essere in grado di ingrandire/ridurre la pagina (il che, a giudicare dall'aspetto della domanda, dovrebbe essere comunque desiderato). – kad81

0

Confermo che utilizzando il nome del meta nell'intestazione html

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 

avrete un div fisso sul scorrimento verticale e orizzontale su Android 2.2, 2.3 e fino e iOS 4 e fino . https://dl.dropbox.com/u/908148/website/test-scroll.html

+0

collegamento interrotto e nessuna correzione utile – Adaptabi