Autore Topic: Popup HTML  (Letto 392 volte)

Offline wlf

  • Utente normale
  • ***
  • Post: 337
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Xperia
Popup HTML
« il: 28 Ottobre 2014, 12:50:06 CET »
0
Salve,
vorrei provare ad inserire in una lista (listview) alla selezione di un item (setOnItemClickListener) un popup che possa visualizzare del codice HTML. Ho tentato quindi con un AlertDialog ma con scadenti risultati. :(

Codice: [Seleziona]
                AlertDialog.Builder myAlertDialog = new AlertDialog.Builder(MyActivity.this);
                myAlertDialog.setTitle("Prova");
                myAlertDialog.setInverseBackgroundForced(true);

                String htmlcode = "<div style=text-align: center;><strong>Prova pagina HTML<br /></strong><em>Prova corsivo<br />Prova immagine<br /><br /><img src=http://67.43.2.1/~edumobile2/android/wp-content/uploads/2014/09/thumb-150x150.png /><br /></em></div>";
               
                myAlertDialog
                                .setMessage(Html.fromHtml(htmlcode))
                                .setIcon(R.drawable.ic_dialog_icona)
                                .setCancelable(false)
                                .setPositiveButton(android.R.string.ok,
                                                new DialogInterface.OnClickListener() {
                                                        public void onClick(DialogInterface dialog, int id) {
                                                                //Codice eventuale
                                                        }
                                                });
                AlertDialog alert = myAlertDialog.create();
                alert.show();

Sembra che se ne fregi sia della centratura che dell'immagine ... :(

Avete magari dei suggerimenti per visualizzare del codice HTML passato direttamente all'App (no http link).

Grazie! ;)

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Popup HTML
« Risposta #1 il: 28 Ottobre 2014, 14:36:53 CET »
+1
Solo una ristretta parte dei tag HTML sono supportati da Html.fromHtml().

Nel codice di Android-L trovi l'elenco dei tags ( GC: Html - android.text.Html (.java) - GrepCode Class Source ), però di sicuro non supporta i fogli di stile e nel tuo codice tutti gli attributi sono senza apici.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline wlf

  • Utente normale
  • ***
  • Post: 337
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Xperia
Re:Popup HTML
« Risposta #2 il: 28 Ottobre 2014, 14:59:27 CET »
0
Solo una ristretta parte dei tag HTML sono supportati da Html.fromHtml().

C'è qualche altro modo di visualizzare del codice HTML dentro un popup? :(
Perlomeno anche il link con l'immagine ...

Citazione
Nel codice di Android-L trovi l'elenco dei tags ( GC: Html - android.text.Html (.java) - GrepCode Class Source ), però di sicuro non supporta i fogli di stile e nel tuo codice tutti gli attributi sono senza apici.

Gli apici li ho tolti io appositamente per poter valorizzare la variabile htmlcode nell'esempio che ho postato; realmente dentro al campo di Sqlite che passo alla setMessage ho anche gli apici. ;)
Il codice html mi viene generato da remoto quindi non ho la sicurezza che non ci siano determinati tags, fogli di stile e quant'altro ... :(

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Popup HTML
« Risposta #3 il: 28 Ottobre 2014, 15:03:27 CET »
0
C'è qualche altro modo di visualizzare del codice HTML dentro un popup? :(
Perlomeno anche il link con l'immagine ...

Potresti mettere una WebView, anche se è una soluzione di un certo peso.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline wlf

  • Utente normale
  • ***
  • Post: 337
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Xperia
Re:Popup HTML
« Risposta #4 il: 28 Ottobre 2014, 17:39:16 CET »
0
Potresti mettere una WebView, anche se è una soluzione di un certo peso.

Ho tentato di mettere una WebView dentro ad una custom_dialog.xml senza riuscirci. E' possibile secondo te?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Popup HTML
« Risposta #5 il: 28 Ottobre 2014, 18:11:24 CET »
+1
Ho tentato di mettere una WebView dentro ad una custom_dialog.xml senza riuscirci. E' possibile secondo te?

Mah, non l'ho mai fatto, ma cercando su google "android webview in custom dialog" escono diversi esempi. Sarebbero da provare per vedere se fanno al caso tuo.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline wlf

  • Utente normale
  • ***
  • Post: 337
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Xperia
Re:Popup HTML
« Risposta #6 il: 28 Ottobre 2014, 19:07:49 CET »
0
Mah, non l'ho mai fatto, ma cercando su google "android webview in custom dialog" escono diversi esempi. Sarebbero da provare per vedere se fanno al caso tuo.

Mi ero fossilizzato sulla creazione di una custom_dialog.xml ma effettivamente bastava passare una WebView al AlertDialog.Builder.setView(). ;)
Era piuttosto semplice, peccato che funzioni solamente passando un indirizzo http come sorgente delle immagini, se passo un https con porta 443 non funziona! :(
Provato sia con webView.loadData che con webView.loadDataWithBaseURL. :(

L'indirizzo https è di un server non autorizzato da nessuna authorization authority; il certificato per la comunicazione https l'ho inserito con un file bks dentro l'App (res/raw), ma probabilmente webView se ne infischia ... :(
Immagino quindi che sia necessario passare per una authorization authority oppure accontentarsi del http. :)
« Ultima modifica: 28 Ottobre 2014, 20:42:58 CET da wlf »