Giter Club home page Giter Club logo

bookmarkbutton's Introduction

๐ŸŒŸ Bookmark Button Demo with Jetpack Compose ๐ŸŒŸ

ezgif-2-d14c09418d

This project is a practical demonstration of the concepts discussed in the article "Can You Create a Bookmark Button in Jetpack Compose?" ๐Ÿ“–. It showcases the creation of a bookmark button in Jetpack Compose with three states - Bookmarked ๐Ÿ“Œ, Not bookmarked โŒ, and Toggling ๐Ÿ”„. The project emphasizes not just on the UI implementation but also on testing ๐Ÿงช, performance ๐Ÿš€, handling configuration changes ๐Ÿ”„, and other key aspects of feature development in Android.

๐ŸŽ‰ Features

  • Bookmark Button Implementation: A fully functional bookmark button with three distinct states, demonstrating state management and UI updates in Jetpack Compose.
  • Unit and UI Testing: Examples of how to write tests for the bookmark button, ensuring its functionality remains consistent across app updates.
  • Performance Metrics: Implementation of Jetpack Compose performance metrics to monitor and optimize the UI's performance.
  • Handling Configuration Changes: Demonstrates how to preserve the bookmark button's state across configuration changes, ensuring a seamless user experience.
  • Accessibility: Tips on making the bookmark button accessible to all users, including those with disabilities.

๐Ÿš€ Getting Started

To get a local copy up and running, follow these simple steps:

Prerequisites

  • Android Studio Iguana | 2023.2.1 RC 1 ๐Ÿ› ๏ธ
  • Kotlin 1.9.22 or later ๐Ÿ•น๏ธ

Installation

  1. Clone the repo
    git clone https://github.com/LloydBlv/BookmarkButton.git
  2. Open the project in Android Studio.
  3. Build the project and run on an emulator or a real device.

๐Ÿ“– Usage

This project can be used as a reference for implementing a bookmark button in your own Jetpack Compose applications. It demonstrates not just how to create interactive UI components but also how to ensure they are robust, performant, and accessible.

๐Ÿค Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿงช Testing

This project includes both unit tests and UI tests to ensure the bookmark button works as expected:

  • Unit Tests: Verify the logic behind the bookmark button's states and interactions.
  • UI Tests: Ensure the button's integration with the UI is seamless and user interactions are handled correctly.

๐Ÿ“ฌ Contact

Reza - [email protected]

Project Link: https://github.com/LloydBlv/BookmarkButton

๐Ÿ’– Acknowledgements

bookmarkbutton's People

Contributors

lloydblv avatar

Stargazers

Dinesh K avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.