Android: ¿Cómo colocar un final de botón de un textview con texto multilínea?

Quiero colocar un botón al final del párrafo textview, como "Go" botón que cuando el usuario haga clic en él la aplicación va a otra página.

por ejemplo:

if you have good endurance, for killing the monster you must going to section 2. [Go->] -if you haven't good endurance, flee to section 3. [Go->] 

En el ejemplo anterior [Go->] es un pequeño botón que debe colocarse exactamente en el final de la línea.

¿Cómo puedo hacerlo en tiempo de ejecución?

Puede utilizar espacios para esto.

Supongamos que tiene un TextView llamado myText .

 Drawable goButtonDrawable = getResources().getDrawable(R.drawable.go_button); String text = "If you have good endurance, for killing the monster you must go to section 2. [GO]" String replace = "[GO]"; final int index = text.indexOf(replace); final int endIndex = index + replace.length(); final ImageSpan imageSpan = new ImageSpan(goButtonDrawable, ImageSpan.ALIGN_BASELINE); final ClickableSpan clickSpan = new ClickableSpan() { @Override public void onClick(View clicked) { // Do your [GO] action } }; SpannableString spannedText = new SpannableString(text); spannedText.setSpan(imageSpan, index, endIndex, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); spannedText.setSpan(clickSpan, index, endIndex , Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); myText.setText(spannedText); 

Obviamente esto podría ser mejor abstraído (usted podría hacer un TextView personalizado que maneja esto internamente), pero esa es la idea general.

Puede lograr esto estableciendo el texto como html

Añada la etiqueta HTML img a su texto y establézcalo en una vista de texto como esta

  String htmlText = "Your multi line text <img src=\"ic_go_icon\">"; textView.setText(Html.fromHtml(htmlText, new Html.ImageGetter() { @Override public Drawable getDrawable(String source) { int resourceId = getResources().getIdentifier(source, "drawable",getPackageName()); Drawable drawable = getResources().getDrawable(resourceId); drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); return drawable; } }, null)); 

Pero manejar el clic será para ver el texto completo.

  • ¿Cómo mantener visible la barra de herramientas con adjustPan?
  • Cómo moverse repetición similar-variable en declaraciones if
  • ¿Cómo puedo ser notificado cuando una Snackbar se ha despedido?
  • Mostrar un teclado virtual de android en el diseño gráfico de eclipse
  • ¿Por qué esta línea xmlns: android = "http://schemas.android.com/apk/res/android" debe ser la primera en el archivo xml de diseño?
  • No se encontró ningún recurso en el archivo XML de diseño android
  • Importar nueva biblioteca de soporte de diseño de Android
  • ¿Son "GONE" opiniones perjudiciales para el rendimiento?
  • Simple gesto de desplazamiento a la actividad tutorial?
  • Patrones de diseño para Android
  • Leftside de texto de un RadioButton con un margen en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.