2011-07-18 9 views
8

Estoy haciendo una aplicación de Realidad Aumentada y necesito mostrar algunos objetos en la vista de la cámara. Estoy creando un FrameLayout al que agrego mi vista de cámara y luego agrego mis objetos AR (ahora lo estoy intentando con TextView). En el código a continuación, el TextView que agrego a mi FrameLayout no se muestra ...Agregar vistas secundarias a un FrameLayout mediante programación, luego cambiar sus posiciones

¿Alguien puede ayudar? Y una vez que aparece fs, ¿cómo puedo cambiar su posición programáticamente?

ACTUALIZACIÓN

Probé con un ImageView en lugar de la Vista de Texto, y funciona ... ¿Por qué !?

public class ARActivity extends Activity{ 

    private CBCameraView cv; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

      super.onCreate(savedInstanceState); 

      cv = new CBCameraView(this); 

      FrameLayout rl = new FrameLayout(this); 

      rl.addView(cv, GlobalVars.screenWidth, GlobalVars.screenHeight); 

      setContentView(rl); 

      // this works... 
      /*ImageView fs = new ImageView(this); 
      fs.setImageResource(R.drawable.icon); 
      rl.addView(fs);*/ 

      TextView fs = new TextView(this); 
      fs.setText("Bar seco"); 
      fs.setTextColor(android.R.color.white); 
      fs.setTextSize(1,14); 
      fs.setLayoutParams(new ViewGroup.LayoutParams(
        LayoutParams.WRAP_CONTENT, 
        LayoutParams.WRAP_CONTENT)); 
      rl.addView(fs); 

    }  
} 
+0

Ver esta respuesta aquí: http://stackoverflow.com/questions/7068061/change-absolute-position-with-framelayout – rsc

Respuesta

0

Añadir r1.setLayoutParams como wel :)

1

El problema puede estar en la forma en que está configurando el color del texto. setTextColor() toma un argumento de valor de color, no un id de recurso. Debe llamar

fs.setTextColor(ContextCompat.getColor(context, android.R.color.white)); 

Si desea mediante programación cambia su posición subvista puede ajustar los márgenes a través de parametros de diseño o utilizar métodos/setY setX. Echa un vistazo aquí How can I dynamically set the position of view in Android?

Cuestiones relacionadas