TextView Dinámicos con Scroll

Mi primera entrada "real" trata sobre un problema que tuve a la hora de mostrar varios textos, varios TextView por pantalla, ya que cada uno aparecía seguido tras el anterior, y mi idea es que cada texto pudiera ponerlo en donde yo quisiera. En este caso, un texto que ocupe todo el ancho de la pantalla y cuando venga otro texto, aparezca debajo. Os dejo con el código:

Fichero xml:


  
    
 


fichero .java :

package com.olidroide;



import android.app.Activity;

import android.os.Bundle;

import android.view.ViewGroup.LayoutParams;

import android.widget.LinearLayout;

import android.widget.RelativeLayout;

import android.widget.TextView;



public class textoDinamico extends Activity {

    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        this.setContentView(R.layout.main);

        

        //Obtenemos el LinearLayout definido en la vista

        LinearLayout ll = (LinearLayout) findViewById(R.id.ll);

        

        //Realizamos 30 repeticiones   

    for (int i = 0; i < 30; i++) {

     //Creamos un nuevo TextView

        TextView tv = new TextView(this);

        //Como texto el número de iteración

        tv.setText("Nº"+i);

        

        /*Creamos una RelativeLayout:

         * Porque las posiciones de los hijos de RelativeLayout están relacionadas

         * con otros hijos o su padre.

         */

        RelativeLayout rl = new RelativeLayout(this);

            

        //Creamos un LayoutParams con los parámetros

        //Información para el hijo (TextView) del RelativeLayout

        RelativeLayout.LayoutParams parametros = new RelativeLayout.LayoutParams(

          //El Ancho, ajustado al contenido

          LayoutParams.WRAP_CONTENT,

          //El Alto, ajustado al contenido

          LayoutParams.WRAP_CONTENT);

        

        //Añadimos el parámetro de que la alinición sea hacia la izquierda

        //parametros.addRule(RelativeLayout.ALIGN_LEFT);

        //No es necesario para el ejemplo

        

        //Y se lo aplicamos a la TextView creada antes

        tv.setLayoutParams(parametros);

        

            

        //También podemos declararlo de la siguiente manera

        rl.setLayoutParams(new LayoutParams(

             //El ancho, ajustado al padre

             LayoutParams.FILL_PARENT,

             //El Alto, ajustado al contenido

             LayoutParams.WRAP_CONTENT)

             );

      

         

        //Añadimos el TextView a la RelativeLayout

        rl.addView(tv);

        

        //Y la RelativeLayout a la LinearLayout

        ll.addView(rl);

}

        

    }

}







Espero que os sirva de ayuda ;)

1 comentarios:

John Alexander Carvajal dijo...

muchas gracias...justo lo q buscaba

salu2!!!!

Publicar un comentario