2015-08-30 31 views
5

Sto impostando un'immagine che può essere disegnata come SpannableString su una TextView ma l'immagine risulta più grande del testo, rendendola strana. Ho bisogno di ridurre le dimensioni del imagespan tale che è la stessa altezza del testo:Riduci l'altezza e la larghezza di ImageSpan

Ecco che cosa ho provato:

drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); 

SpannableStringBuilder builder = new SpannableStringBuilder(holder.temptext.getText()); 
builder.setSpan(new ImageSpan(drawable), selectionCursor - ":)".length(), selectionCursor, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
holder.temptext.setText(builder); 
holder.temptext.setSelection(selectionCursor); 

holder.caption.setText(builder); 

risposta

4

È necessario misurare l' altezza tuoi TextView e utilizzarlo al posto di limiti intrinseci:

int lineHeight = holder.temptext.getLineHeight(); 

drawable.setBounds(0, 0, lineHeight, lineHeight);