2010-07-10 4 views
6

Sto disegnando alcuni grafici su tela sulla webview di Android, e uso javascript per cambiare grafico solo nascondendo e mostrando, e cambio anche il titolo ripristinando il suo innerHTML.Strano problema su webview Android con canvas

Il titolo è solo un normale tag html "<div id='title'></div>",

Il problema è che la pagina non rende bene quando passo a grafici, per esempio. quando ho scelto di visualizzare il grafico successivo e di modificare l'innerHTML del titolo, il titolo sembra "ricordato" del suo precedente innerHTML e sembra che un testo si sia sovrapposto a un altro.

Se cambio manualmente l'orientamento del mio telefono, sembra che la webview ridisegna il suo contenuto (non l'aggiornamento), quindi tutto andrà bene.

Qualche idea su questo? oppure posso simulare l'evento di modifica dell'orientamento per far sì che la mia pagina web ridisegni la sua pagina per aggirare il problema?

risposta

0

Se chiami invalidate() dal tuo View, dovresti ridurlo da solo. Quando si ha un cambio di orientamento, lo View viene invalidato con invalidate() che lo costringe a ri-disegnare il suo contenuto. È possibile utilizzare questo metodo invalidate() per ridisegnare i contenuti senza modificare l'orientamento.

invalidate() è un metodo pubblico del tuo View e può essere chiamato ovunque sia in ambito.

1

Questo problema sembra emergere quando si utilizza uno sfondo trasparente con la propria Webview. Prova ad aggiungere questo nel tuo CSS:

body { 
    background-color:black; 
} 

O qualsiasi cosa desideri che il tuo colore di sfondo sia.