Cómo configurar la posición aleatoria de TextView dentro de la disposición lineal?

Tengo un linearlayout en xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rootlayout" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > </LinearLayout> 

Y agrego 100 textviews dinámicos dentro de él por el código abajo:

  llayout = (LinearLayout) findViewById(R.id.rootlayout); for (int i = 0; i < 100; i++) { TextView tv = new TextView(this); tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); int randomInt = new Random().nextInt(100) +1 ; tv.setText(""+randomInt); llayout.addView(tv); } 

El resultado es 100 vistas de texto agregadas y se muestran verticalmente. Esto no es lo que esperaba. Quiero que estas visualizaciones de texto muestren con una posición aleatoria dentro del aspecto de diseño como la imagen a continuación: Introduzca aquí la descripción de la imagen

¿Cómo hacerlo? ¡Gracias!

2 Solutions collect form web for “Cómo configurar la posición aleatoria de TextView dentro de la disposición lineal?”

LinearLayout es para el LinearLayout de sus hijos de forma lineal (como su nombre indica).

Como no hay RandomLayout , puede usar un RelativeLayout con márgenes aleatorios de la izquierda y de la parte superior, o un AbsoluteLayout y establecer x y y aleatorios.

Editar: evitar la superposición de textos

Posiciones aleatorias, por supuesto, puede conducir a la superposición y sería a usted para ajustar las posiciones o ignorar posiciones muy similares a los anteriores. O bien puede comparar los cuadros delimitadores (izquierda, arriba, ancho, alto) de la vista que está a punto de agregar a todas las demás vistas del contenedor y, si hay alguna superposición, busque otro lugar para él.

Puede utilizar tv.setX (posición) y tv.setY (posición) para mostrar la vista en la posición específica

  • ¿Es una práctica aceptable en Java anidar las sentencias try / catch?
  • Equivalente de Ruby #map o #collect en Java?
  • Error: Los tipos de cadena no están permitidos (en 'layout_height' con el valor 'wrap content'). activity_main.xml
  • ¿Cómo puedo usar Proguard en Eclipse para proyectos Java NO-Android?
  • Lint proporciona "Tipo de formato incorrecto" al usar valores largos en strings.xml
  • Android: eliminar el divisor de algunos listitems en listview
  • ¿Cómo comprobar el título de la barra de herramientas en la prueba instrumental android?
  • Cómo crear una aplicación utilizando maven
  • Botón de acción flotante Android API 19 (KitKat)
  • El método getString (int) no está definido para el tipo Apps
  • Anidados if / else, switches o algo más eficiente para el combate RPG?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.