Burbuja de discurso drawable de Android
He buscado durante días y no puedo encontrar buenas pistas sobre cómo puedo dibujar una burbuja o donde un dibujo 9 imágenes de parche es para utilizar como fondo. Soy un artista terrible – ¿Puede alguien ayudar?
La mejor muestra que he encontrado está aquí en stackoverflow, pero está escrito en el objetivo c
- Androide. Cómo mover el objeto en la dirección que se enfrenta (usando Vector3 y Quaternion)
- Renderización de imagen progresiva, cargando imagen pixel por píxel y actualizando imageview en imageLoader
- ¿Aplicaciones de dibujo con las puntas de los dedos en Android?
- Tratando de verificar si existe un archivo en el almacenamiento interno
- Bean and EBean conception Anotaciones para Android
Cómo dibujar una "burbuja de discurso" en un iPhone?
Gracias
- Optimización GC: for vs foreach
- Enviar mensaje udp desde el teléfono android a la PC (windows) no funciona
- Error: java.lang.UnsatisfiedLinkError con roboelectric y reino
- Android - NullPointerException desde la creación de un adaptador
- Obtener ancho de pantalla Android en inmersiones
- Agregar dinámicamente a horizontalscrollview
- Android Thread.sleep () en AsyncTask congelar la interfaz de usuario
- Manejo de errores personalizados con Retrofit cuando se ofusca usando proguard da java.lang.reflect.UndeclaredThrowableException
Si está creando una pantalla de chat probablemente va a querer implementar una burbuja de voz entrante y una burbuja de voz saliente. He aquí cómo lo hice:
Shape_bg_incoming_bubble.xml
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <rotate android:fromDegrees="-45" android:pivotX="0%" android:pivotY="0%" android:toDegrees="0" > <shape android:shape="rectangle" > <solid android:color="@color/primary" /> </shape> </rotate> </item> <item android:left="16dp"> <shape android:shape="rectangle" > <solid android:color="@color/primary" /> <corners android:radius="4dp" /> </shape> </item> </layer-list>
Shape_bg_outgoing_bubble.xml
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <rotate android:fromDegrees="45" android:pivotX="100%" android:pivotY="0%" android:toDegrees="0" > <shape android:shape="rectangle" > <solid android:color="@color/grey_500" /> </shape> </rotate> </item> <item android:right="16dp"> <shape android:shape="rectangle" > <solid android:color="@color/grey_500" /> <corners android:radius="4dp" /> </shape> </item> </layer-list>
Aquí hay una simple burbuja de discurso dibujable que hice. Con suerte, es empezar en la dirección correcta para alguien. La vista de que este dibujable se utiliza en las necesidades de una altura de al menos 70-80dp y un ancho mínimo similar para mostrar correctamente.
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:top="30dp"> <rotate android:fromDegrees="-45" android:pivotX="0%" android:pivotY="0%" android:toDegrees="0" > <shape android:shape="rectangle" > <solid android:color="#CCC" /> </shape> </rotate> </item> <item android:left="20dp"> <shape android:shape="rectangle" > <solid android:color="#CCC" /> <corners android:radius="5dp" /> </shape> </item> </layer-list>
Android Drawables dejar mucho que desear en términos de lo utilizable que son para dibujar cualquier cosa incluso un poco complejo.
Usted debe hacer una imagen en algún tipo de editor de imagen y luego crear un parche 9 fuera de ella. Puede configurar el área en la que desea que el contenido esté usando el método de 9 parches. Entonces usted puede tener simplemente un TextView con el fondo fijado a su remiendo 9. Echa un vistazo a una aplicación llamada Bnter en el mercado, utiliza burbujas de discurso para mostrar conversaciones similares a lo que está buscando.