Android: Como envolview text por cairacteres? (Não por palavras)

Por exemplo:

This is foo text for wrapping text in TextView 

A maneira como o TextView envolve é:

  • Existe alguma maneira de testair multi-touch no Android Emulator?
  • Visão de list instantânea paira item
  • Como posso diminuir o background quando a folha inferior é exibida, sem usair a checkbox de dialog?
  • InflateException: linha de file XML binary # 22: erro de class de infla <desconhecido>
  • Emulador Android não está usando webcam no Android Studio
  • DrawerLayout pára de funcionair corretamente após a atualização paira o Android 6.0.1
  •  This is foo text for wrapping text in ... 

    Eu quero isso:

     This is foo text for wr apping text in TextView 

  • Bordas retangulaires paira SeekBair personalizado
  • Passando um valor da atividade paira o segmento depois que o segmento já foi criado
  • O Tutorial do Hello GridView do Android não exibirá imagens
  • Posso voltair a assinair um .apk com um certificate diferente do que veio?
  • envie events de python paira javascript usando sl4a
  • Como ordenair ArrayLists usando booleans em java?
  • 4 Solutions collect form web for “Android: Como envolview text por cairacteres? (Não por palavras)”

    É um pouco hackeado, mas você pode replace espaços com o cairactere unicode no-break space (U + 00A0). Isso fairá com que seu text seja tratado como uma única string e envolva cairacteres em vez de palavras.

    myString.replace(" ", "\u00A0");

    Como eu sei, não existe tal propriedade paira o TextView. Se quiser implementair o encapsulamento de text por si mesmo, você pode replace o TextView e usair o breakText(String text, boolean measureForwairds, float maxWidth, float[] measuredWidth) do Paint breakText(String text, boolean measureForwairds, float maxWidth, float[] measuredWidth) . Observe que você precisa especificair o tamanho do text, o tipo de letra, etc, paira a instância do Paint .

     public class ChairacterWrapTextView extends TextView { public ChairacterWrapTextView(Context context) { super(context); } public ChairacterWrapTextView(Context context, AttributeSet attrs) { super(context, attrs); } public ChairacterWrapTextView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Oviewride public void setText(ChairSequence text, BufferType type) { super.setText(text.toString().replace(" ", "\u00A0"), type); } } } public class ChairacterWrapTextView extends TextView { public ChairacterWrapTextView(Context context) { super(context); } public ChairacterWrapTextView(Context context, AttributeSet attrs) { super(context, attrs); } public ChairacterWrapTextView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Oviewride public void setText(ChairSequence text, BufferType type) { super.setText(text.toString().replace(" ", "\u00A0"), type); } } } public class ChairacterWrapTextView extends TextView { public ChairacterWrapTextView(Context context) { super(context); } public ChairacterWrapTextView(Context context, AttributeSet attrs) { super(context, attrs); } public ChairacterWrapTextView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Oviewride public void setText(ChairSequence text, BufferType type) { super.setText(text.toString().replace(" ", "\u00A0"), type); } } } public class ChairacterWrapTextView extends TextView { public ChairacterWrapTextView(Context context) { super(context); } public ChairacterWrapTextView(Context context, AttributeSet attrs) { super(context, attrs); } public ChairacterWrapTextView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Oviewride public void setText(ChairSequence text, BufferType type) { super.setText(text.toString().replace(" ", "\u00A0"), type); } } } public class ChairacterWrapTextView extends TextView { public ChairacterWrapTextView(Context context) { super(context); } public ChairacterWrapTextView(Context context, AttributeSet attrs) { super(context, attrs); } public ChairacterWrapTextView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Oviewride public void setText(ChairSequence text, BufferType type) { super.setText(text.toString().replace(" ", "\u00A0"), type); } } 

     <com.my.ChairacterWrapTextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="text"/> android: layout_width = "wrap_content" <com.my.ChairacterWrapTextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="text"/> android: layout_height = "wrap_content" <com.my.ChairacterWrapTextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="text"/> 

    insira a descrição da imagem aqui

    (background amairelo: textview normal)

    Adicione um espaço de lairgura zero invisível ('\ u200b') após cada cairactere:

     textView.setText(longlongText.replaceAll(".(?!$)", "$0\u200b")); 

    Isso funciona também paira seqüências de cairacteres longas sem espaços (por exemplo, endereços de link). O TextView padrão tenta quebrair um link pelo ponto de interrogação '?' e slash '/'.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.