Bubbles for Android
Bubbles for Android is an Android library to provide chat heads capabilities on your apps. With a fast way to integrate with your development.
How to use
Configuring your project dependencies
Add the library dependency in your build.gradle file.
dependencies {
...
compile 'com.txusballesteros:bubbles:1.2.1'
}
Adding your first Bubble
Compose your Bubble layout, for example using a Xml layout file. Remember that the first view of your Bubble layout has to be a BubbleLayout view.
<com.txusballesteros.bubbles.BubbleLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/avatar"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_gravity="center"
android:background="@drawable/profile_decorator"
android:src="@drawable/profile"
android:scaleType="centerCrop"/>
</com.txusballesteros.bubbles.BubbleLayout>
Create your BubblesManager instance.
private BubblesManager bubblesManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
bubblesManager = new BubblesManager.Builder(this)
.build();
bubblesManager.initialize();
...
}
@Override
protected void onDestroy() {
bubblesManager.recycle();
...
}
Attach your Bubble to the window.
BubbleLayout bubbleView = (BubbleLayout)LayoutInflater
.from(MainActivity.this).inflate(R.layout.bubble_layout, null);
bubblesManager.addBubble(bubbleView, 60, 20);
Configuring your Bubbles Trash
If you want to have a trash to remove on screen bubbles, you can configure the
layout of that.
Define your trash layout Xml.
<ImageView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:src="@mipmap/bubble_trash_background"
android:layout_gravity="bottom|center_horizontal" />
Configure the trash layout with your BubblesManager builder.
private BubblesManager bubblesManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
bubblesManager = new BubblesManager.Builder(this)
.setTrashLayout(R.layout.bubble_trash_layout)
.build();
bubblesManager.initialize();
...
}