Android: crea TextView (o EditText) de forma programática y lo configura en un lugar específico de la pantalla dando coordenadas

Estoy construyendo una aplicación para Android donde el usuario pinta algunos objetos en la pantalla. Un tipo de objeto es un objeto Text. El usuario crea el objeto arrastrando su dedo y el objeto se muestra como un rectángulo que se puede mover / reformar. Cuando el usuario teclea el objeto de texto, lanzo una nueva actividad donde el usuario escribe el texto que devuelvo en el método onActivityResult.

Ahora quiero mostrar el texto en el objeto. Puedo tener acceso a cosas como las coordenadas del rectángulo, etc de mi clase de texto. Lo que quiero hacer en esencia, es crear un TextView (o EditText) de forma programática y establecer sus límites como los límites de mi rectángulo que mi objeto está pintado pulg ¿Hay un método que me puede ayudar a hacerlo?

(Otro enfoque sería utilizar el método canvas.drawTextOnPath en mi objeto de texto.Pero esto parece más complicado ya que mi texto podría salir del objeto, y también tendría que manejar las multilíneas)

¡Muchas gracias por adelantado!

EDIT: tratando el enfoque de GAMA

protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch(requestCode) { case 1: if (resultCode == Activity.RESULT_OK) { String text=data.getStringExtra("text"); System.out.println(text); TextView tv=new TextView(this); //LayoutParams lp = new LayoutParams(new ViewGroup.MarginLayoutParams((int)texts.get(index).width,(int)texts.get(index).height)); LayoutParams lp = new LayoutParams(new ViewGroup.MarginLayoutParams(100,100)); //tv.setLayoutParams(lp); //lp.setMargins((int)texts.get(index).Sx, (int)texts.get(index).Sy, (int)texts.get(index).Lx, (int)texts.get(index).Ly); tv.setLayoutParams(lp); tv.setTextSize(10); tv.setTextColor(Color.RED); tv.setText(text); lp.setMargins(0,0,0,0); //tv.setVisibility(View.VISIBLE); System.out.println("got "+tv.getText()); } break; } } 

Ambas impresiones muestran el texto como se esperaba, pero no veo nada en la pantalla (intenté configurarlo en la parte inferior izquierda para empezar)

En realidad, drawTextOnPath es su mejor apuesta. No se desangrará. Todo lo que tienes que hacer es crear un camino que va desde la izquierda, vertical del centro de su rectángulo a la vertical derecha del centro. El método se encargará de cambiar el tamaño del texto para que se mantenga dentro de la ruta.

Puede ajustar la ruta en consecuencia utilizando Paint.getTextWidth() . Si el ancho es mayor que el cuadro, amplíe su ruta con una línea Paint.getTextHeight() debajo de la primera línea.

  EditText edText = new EditText(this); edText .setId(i); edText .setLayoutParams(new LinearLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f)); edText .setWidth(100); edText .setImeOptions(EditorInfo.IME_ACTION_NEXT); edText .setInputType(InputType.TYPE_CLASS_NUMBER); edText .setKeyListener(DigitsKeyListener.getInstance()); edText .setMaxLines(1); edText .setOnFocusChangeListener(this); edText .setOnEditorActionListener(this); edText .addTextChangedListener(this); //this linearlayout id is declared inside your xml file LinearLayout linear=(LinearLayout)findViewById(R.id.linearLayout1); linear.addView(edText ); 

Prueba esto:

 TextView tv=new TextView(this); LayoutParams lp = new LayoutParams(new ViewGroup.MarginLayoutParams(width,height)); tv.setLayoutParams(lp); lp.setMargins(0, 0, 0, 0); 
  • Poner texto constante dentro de EditText que no debería ser editable - Android
  • 2 colores diferentes para texto en la misma vista de texto en android
  • Sombra larga de Android TextView
  • Cómo quitar la etiqueta de HTML en android?
  • Fondo personalizado de la ventana emergente del error
  • Cómo cambiar el texto de textView de fragmento de la actividad
  • Android TextView: ¿hay una manera de forzar la animación de la marquesina con texto corto?
  • Desplazamiento de un TextView a una línea específica
  • Android scroll down
  • Añadir opaco "sombra" (esquema) a Android TextView
  • Cómo obtener marcas de acento en las letras de un TextView Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.