{"id":3490,"url":"https://github.com/txusballesteros/bubbles-for-android","last_synced_at":"2025-05-16T06:02:17.378Z","repository":{"id":34375554,"uuid":"38301136","full_name":"txusballesteros/bubbles-for-android","owner":"txusballesteros","description":"Bubbles for Android is an Android library to provide chat heads capabilities on your apps. With a fast way to integrate with your development.","archived":false,"fork":false,"pushed_at":"2021-01-18T15:04:47.000Z","size":6029,"stargazers_count":1483,"open_issues_count":28,"forks_count":282,"subscribers_count":55,"default_branch":"master","last_synced_at":"2025-04-08T15:13:03.326Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/txusballesteros.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-06-30T09:46:32.000Z","updated_at":"2025-03-23T06:35:37.000Z","dependencies_parsed_at":"2022-08-08T01:00:11.506Z","dependency_job_id":null,"html_url":"https://github.com/txusballesteros/bubbles-for-android","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/txusballesteros%2Fbubbles-for-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/txusballesteros%2Fbubbles-for-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/txusballesteros%2Fbubbles-for-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/txusballesteros%2Fbubbles-for-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/txusballesteros","download_url":"https://codeload.github.com/txusballesteros/bubbles-for-android/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254478160,"owners_count":22077675,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-01-05T20:16:42.988Z","updated_at":"2025-05-16T06:02:17.276Z","avatar_url":"https://github.com/txusballesteros.png","language":"Java","readme":"Bubbles for Android\n=====================\n\nBubbles for Android is an Android library to provide chat heads capabilities on your apps. With a fast way to integrate with your development.\n\n![Logo](assets/bubbles_demo.gif)\n\n## Latest Version\n\n[![Download](https://api.bintray.com/packages/txusballesteros/maven/bubbles-for-android/images/download.svg) ](https://bintray.com/txusballesteros/maven/bubbles-for-android/_latestVersion) ![](https://img.shields.io/badge/platform-android-green.svg) [![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-Bubbles%20for%20Android-green.svg?style=flat)](https://android-arsenal.com/details/1/2113)\n\n## How to use\n\n### Configuring your project dependencies\n\nAdd the library dependency in your build.gradle file.\n\n```groovy\ndependencies {\n    ...\n    compile 'com.txusballesteros:bubbles:1.2.1'\n}\n```\n\n### Adding your first Bubble\n\nCompose 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.\n\n```xml\n\u003ccom.txusballesteros.bubbles.BubbleLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\u003e\n\n    \u003cImageView\n        android:id=\"@+id/avatar\"\n        android:layout_width=\"70dp\"\n        android:layout_height=\"70dp\"\n        android:layout_gravity=\"center\"\n        android:background=\"@drawable/profile_decorator\"\n        android:src=\"@drawable/profile\"\n        android:scaleType=\"centerCrop\"/\u003e\n\n\u003c/com.txusballesteros.bubbles.BubbleLayout\u003e\n```\n\nCreate your BubblesManager instance.\n\n```java\nprivate BubblesManager bubblesManager;\n\n@Override\nprotected void onCreate(Bundle savedInstanceState) {\n     bubblesManager = new BubblesManager.Builder(this)\n                                        .build();\n     bubblesManager.initialize();\n    ...\n}\n\n@Override\nprotected void onDestroy() {\n    bubblesManager.recycle();\n    ...\n}\n```\n\nAttach your Bubble to the window.\n\n```java\nBubbleLayout bubbleView = (BubbleLayout)LayoutInflater\n                                    .from(MainActivity.this).inflate(R.layout.bubble_layout, null);\nbubblesManager.addBubble(bubbleView, 60, 20);\n```\n\n### Configuring your Bubbles Trash\n\nIf you want to have a trash to remove on screen bubbles, you can configure the\nlayout of that.\n\nDefine your trash layout Xml.\n\n```xml\n\u003cImageView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    android:layout_marginBottom=\"20dp\"\n    android:src=\"@mipmap/bubble_trash_background\"\n    android:layout_gravity=\"bottom|center_horizontal\" /\u003e\n```\n\nConfigure the trash layout with your BubblesManager builder.\n\n```java\nprivate BubblesManager bubblesManager;\n\n@Override\nprotected void onCreate(Bundle savedInstanceState) {\n     bubblesManager = new BubblesManager.Builder(this)\n                                        .setTrashLayout(R.layout.bubble_trash_layout)\n                                        .build();\n     bubblesManager.initialize();\n    ...\n}\n```\n\n## License\n\nCopyright Txus Ballesteros 2015 (@txusballesteros)\n\nThis file is part of some open source application.\n\nLicensed to the Apache Software Foundation (ASF) under one\nor more contributor license agreements.  See the NOTICE file\ndistributed with this work for additional information\nregarding copyright ownership.  The ASF licenses this file\nto you under the Apache License, Version 2.0 (the\n\"License\"); you may not use this file except in compliance\nwith the License.  You may obtain a copy of the License at\n\n  http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing,\nsoftware distributed under the License is distributed on an\n\"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, either express or implied.  See the License for the\nspecific language governing permissions and limitations\nunder the License.\n\nContact: Txus Ballesteros \u003ctxus.ballesteros@gmail.com\u003e\n","funding_links":[],"categories":["Index `(light-weight pages)`","Java","Libraries","Index"],"sub_categories":["GUI"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftxusballesteros%2Fbubbles-for-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftxusballesteros%2Fbubbles-for-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftxusballesteros%2Fbubbles-for-android/lists"}