Sto sviluppando un progetto Android e voglio rendere qualche formula chimica.formula chimica su Android
Ho scritto il seguente codice e ho ottenuto il seguente risultato.
Creo una stringa personalizzata e la mostro in una visualizzazione testuale.
Ma la mia domanda è questa: è questo il modo migliore per farlo? E c'è un altro modo per gestirlo?
str = new SpannableString(Html.fromHtml("2H<sup>+</sup> + So<sub size = 2>4</sub><sup size = 2>2-</sup> --> H<sub size =2>2</sub>So<sub size = 2>4</sub>"));
ss1.setSpan(new RelativeSizeSpan(0.6f), 2,3, 0); // set size
ss1.setSpan(new RelativeSizeSpan(0.6f), 8,11, 0); // set size
ss1.setSpan(new RelativeSizeSpan(0.6f), 17,18, 0); // set size
ss1.setSpan(new RelativeSizeSpan(0.6f), 20,21, 0); // set size
TempF.setText(ss1,TextView.BufferType.SPANNABLE);
Hai trovato una buona soluzione, che è abbastanza facile da implementare per molte formule chimiche. Su Android, potresti aver usato caratteri speciali personalizzati su Canvas, LaTeX, grafica vettoriale (attraverso una libreria) e molti altri modi per ottenere lo stesso risultato, ma la soluzione mi piace di più (supponendo che tu non abbia altro requisiti speciali che non ho preso in considerazione). –
Grazie! Ottima risposta :) SpannableString spannableString = new SpannableString ( Html.fromHtml ("C H 14 N ")); spannableString.setSpan (new RelativeSizeSpan (0.6f), 1, 3, 0); spannableString.setSpan (new RelativeSizeSpan (0.6f), 4, 6, 0); spannableString.setSpan (nuovo RelativeSizeSpan (0.6f), 7, 8, 0); –