Breens-Mbaka / Jetpack-Compose-Tables

🐝 A Compose UI data table library which allows developers to seamless integrate visually appealing and customizable tables to their Android apps or IOS apps.
203 stars 15 forks source link

BeeTablesCompose


License API Build Status Build Status


:bee: A Compose UI data table library which allows developers to seamless integrate visually appealing and customizable tables to their Android apps or IOS apps.


https://github.com/Breens-Mbaka/BeeTablesCompose/assets/72180010/996cb574-766e-45f8-b459-6e7245da17bc # Features 🌟 - Display tabular data with ease: The library allows you to display a list of data items in a well-organized table format. - Customizable header titles: Customize the appearance of header titles with options for border color, width, text style, and background color. - Alternating row colors: Easily set up alternating background colors for rows, enhancing the visual presentation of your data. - Styling options: Customize the appearance of table rows, including border color, width, and text style. - Table elevation: Control the elevation of the entire table with a customizable elevation value. - Rounded corners: Set the shape of the table's corners, with a default rounded corner shape for a sleek look. # Getting Started đŸĻē To use the BeeTablesCompose library, follow these steps: - Add this to either your **project build.gradle** file or **setting.gradle**, depending with what version of Android Studio you are using; ```gradle repositories { ... maven(url = "https://jitpack.io") } ``` - Add the dependency: Include the library in your project's dependencies; ```gradle dependencies { implementation("com.github.Breens-Mbaka:BeeTablesCompose:1.2.0") } ``` # Usage - Import the library: Import the BeeTablesCompose function into your Compose-based project. - Prepare your data: Organize your data in a list of objects to be displayed in the table. - Define the header titles: Create a list of header titles that will be displayed at the top of the table. - Use the BeeTablesCompose function: Invoke the BeeTablesCompose function with your data and header titles as parameters to generate the data table.

# NOTE ⚠ī¸đŸš¨ - Before building a release APK of your app, if you have enabled minification, make sure to annotate your table data classes with @Keep. This will prevent the class from being removed at runtime. ```kotlin @Keep data class User( val name: String, val email: Int, val city: String ) ``` # Want a new shiny feature đŸĒŠâœ¨ - If you want to request a new feature please first read this [short guide](https://github.com/Breens-Mbaka/BeeTablesCompose/blob/master/.github/ISSUE_TEMPLATE/feature_request.md) # Want to report a bug 🐞 - If you want to report a bug please first read this [short guide](https://github.com/Breens-Mbaka/BeeTablesCompose/blob/master/.github/ISSUE_TEMPLATE/bug_report.md) # Want to contribute 🛠 - If you want to contribute please first read this [short guide](https://github.com/Breens-Mbaka/BeeTablesCompose/blob/master/.github/ISSUE_TEMPLATE/pull_request_template.md) # Find this repository useful? :heart: Support it by joining _ _[stargazers](https://github.com/Breens-Mbaka/BeeTablesCompose/stargazers)__ for this repository. :star:
Also __[follow](https://github.com/Breens-Mbaka)__ me for my next creations! 🤩

# License ```xml Designed and developed by 2024 Breens Mbaka Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ```