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
- Convertir InputStream a JSONObject
- Cómo Java Binding para Dbus para ejecutarse en Android
- Android (en Scala): StackOverflowError depende de cuándo iniciar un hilo?
- No se puede refactorizar métodos con subrayado como un parámetro en lambdas?
- TimerTask ya está programado
Cómo dibujar una "burbuja de discurso" en un iPhone?
Gracias
- Android Cómo ejecutar un método cada x horas o minutos
- Android: la adición de vistas a las imágenes no se actualiza - onClick
- Iniciar la aplicación de Android en la pantalla desbloquear
- Captura e interceptación de ACTION_SEND intents en Android
- Convertir código OpenCV de C ++ a Java
- NotifydataSetChanged en Adapter se actualizará con nuevos elementos, pero no actualizará los elementos existentes
- Cierre de la conexión Jsoup
- Sincronización de dos ListViews lado a lado de Android
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.