studio - manual de programacion android pdf
Vista de texto alrededor de la vista (4)
Estoy tratando de hacer que mis diseños horizontales aprovechen la habitación disponible.
En una información que muestra actividad, tengo un ''cuadro de hechos'' seguido de un cuadro grande de texto. Me gustaría que el cuadro de información flote a la derecha, de forma similar a la siguiente imagen.
¿Es esto posible usando la aplicación android TextView?
Me temo que esto no es posible con un solo TextView. Un TextView tiene que ser un rectángulo y no puede mostrar vistas secundarias. Una solución alternativa podría ser crear dos TextViews y hacer el primer corte del texto, luego preguntar al primer textview cuánto puede mostrar y agregar el resto de la cadena a la segunda vista de texto.
Sé que es tarde, pero para las personas que aún intentan lograr esto, aquí hay una biblioteca que pretende lograr esto. https://github.com/deano2390/FlowTextView
Sugeriría emplear un WebView para esto. Puede formatear el texto en una vista web con el formato HTML / CSS habitual, con lo cual su diseño deseado es bastante simple de lograr.
encontré esta solución !! compruébalo desde la fuente ---> fuente de respuesta
Cómo tener unos pocos elementos de diseño alrededor
Aquí hay un problema que las personas pueden encontrar al tratar con diseños en Android.
Supongamos que quiere colocar una imagen en el medio de una oración. puede agregar un par de TextView y un ImageView, pero si el espacio horizontal se vuelve demasiado pequeño, los dos TextViews comenzarán a enrollarse independientemente, lo que se verá raro. Querrá que la imagen forme parte de su TextView y toda la oración se adapte perfectamente. Para hacerlo: * reemplace los tres objetos por un Spannable TextView * use un SpannableStringBuilder para agregar todas sus cadenas (no olvide agregar un carácter adicional (un espacio por ejemplo) que será reemplazado por su imagen) * y finalmente use setSpan (ImageSpan, begin, end, flag) en ese constructor donde ImageSpan es un ImageSpan que contiene el dibujo de tu imagen, begin es el índice del personaje que has insertado
Y así es como se vería el código:
agregar android: bufferType = "spannable" a su TextView
SpannableStringBuilder builder = new SpannableStringBuilder();
builder.append(mContext.getText(R.string.part1));
int lengthOfPart1 = builder.length();
builder.append(" ");
builder.append(mContext.getText(R.string.part2));
Drawable d = mContext.getResources().getDrawable(R.drawable.picasaIcon);
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); // <---- Very important otherwise your image won''t appear
ImageSpan myImage = new ImageSpan(d);
builder.setSpan(myImage, lengthOfPart1, lengthOfPart1 + 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
myTextView.setText(builder);