2012-05-19 23 views
5

estoy tratando de insertar un TextView dentro de un EDITTEXT como en la de abajoinsertando textview dentro de edittext en android?

enter image description here

puede alguien pls me dan ideas sobre cómo poner en práctica o algo.

gracias :)

actualización: los textviews en el EditarTexto variarán de forma dinámica.

+0

Eso no parece una simple vista de texto dentro de un texto de edición .. Es un tipo de vista de "Ventana emergente" – Ronnie

Respuesta

2

Creo que no puede establecer TextView dentro de EditText. Pero alternativamente puede hacer que se vea de esa manera. Estos son los pasos

  1. convertido TextView a BitmapDrawable
  2. convertido dibujable mapa de bits en SpanableString (ImageSpan)
  3. a continuación, establezca este regresó SpannableString a su EditText

Recientemente he completado este tipo de interfaz de usuario y lo he explicado en mi blog Making GoSmsPro/Evernote like EditText

+0

estoy usando tu código en uno mi proyecto pero estoy obteniendo un problema y no obtengo ninguna solución ... puedes echarle un vistazo dame un consejo http://stackoverflow.com/questions/20780685/how -set-margin-between-spannable-textview –

3

Pruebe este código de muestra. Se ajusta a sus necesidades.

PopupWindow pw = new PopupWindow(
           this.getViewInflate().inflate(R.layout.pw_layout, 
                   null, true, null), 
           100,100,true); 
// display the popup in the center 
pw.showAtLocation(layout, Gravity.CENTER, 0, 0); 
pw.update(20,20,100,100); 

Para los puntos de vista dentro de EditText parte, usted tendrá que extender el EditText. La descripción de cómo debe verse es la siguiente.

class emailEditText extends EditText { 

List<NamePhotoView> ViewlistOfSelectedContacts; // create new 

    void addContact(String name, Bitmap photo) { 
     // create a new 'NamePhotoView' and add to the ViewlistOfSelectedContacts 
    } 

    @Override 
    void onDraw(Canvas canvas) { 
     for (....) { 
      // draw all views from the list. left to right. 
     } 
    // you have to some how offset the text start coordinate. then call super 
    super.onDraw(canvas); 
    } 
} 
+0

el código anterior está bien para el cuadro emergente. pero ¿qué puedo hacer para obtener esas textviews "kanna" y "susse" en el texto de edición "To" ?? – kAnNaN

+0

Parece un control de texto personalizado. Extiende el 'EdiText' .. – Ronnie

+0

Respondí mi respuesta. – Ronnie

1

puede crear un componente basado en lo que necesita como usted mencionó anteriormente con el diseño del marco. Puede tener un FrameLayout o RelativeLayout con dos vistas, como EditText y TextView, mientras que la vista de texto se encuentra sobre EditText. también puede poner la vista de imagen si lo desea, al igual que su imagen.

Aunque no necesita crear un componente y puede hacerlo fácilmente en su diseño XML, si planea usarlo regularmente a través de su aplicación, es una buena práctica crear esas vistas como un componente.

+0

si es posible me puede dar un ejemplo o cualquier enlace al que me pueda referir. – kAnNaN

+0

Puede consultar: 1) http://developer.android.com/guide/topics/ui/custom-components.html 2) http://developer.android.com/resources/articles/layout-tricks-reuse .html – Hesam

+0

Y práctico: http: // thiranjith.com/2011/07/15/actionbar-design-pattern-example-for-android/Aunque este tema está relacionado con el diseño de la barra de acciones, puede tener una idea de cómo crear un componente reutilizable basado en. – Hesam

2

T De la forma en que Android lo implementa, el llamado Chips UI, se puede encontrar here.
Esencialmente es un span personalizado que dibuja los componentes (imagen, texto, etc.) sobre el texto, más alguna lógica para mostrar la ventana emergente.