Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Android
  3. RxBinding

RxBinding

Apache-2.0Kotlin0.4.0

RxJava binding APIs for Android UI widgets from the platform and support libraries.

GitHubGitHub
9.6k stars979 forks0 contributors

What is RxBinding?

RxBinding is a library that provides RxJava binding APIs for Android UI widgets, allowing developers to treat UI events as observable streams. It solves the problem of imperative and callback-heavy Android UI code by enabling reactive programming patterns for user interactions. The library covers widgets from the Android platform, support libraries, and Material Design components.

Target Audience

Android developers who use RxJava and want to apply reactive programming principles to their UI layer. It's particularly valuable for teams building complex, event-driven Android applications with multiple interactive components.

Value Proposition

Developers choose RxBinding because it seamlessly integrates RxJava with Android's UI framework, providing a consistent and composable way to handle events across different widget types. Its modular structure allows selective inclusion of only the needed bindings, keeping APK size minimal.

Overview

RxJava binding APIs for Android's UI widgets.

Use Cases

Best For

  • Handling complex user input validation with debouncing and filtering
  • Creating responsive UIs that react to multiple simultaneous events
  • Implementing search-as-you-type functionality with network calls
  • Managing state changes across multiple UI components reactively
  • Building declarative UI logic that separates events from business logic
  • Simplifying event handling in Android apps using RxJava operators

Not Ideal For

  • Android projects not using RxJava or preferring Kotlin Coroutines/Flow
  • Simple apps with basic UI interactions where traditional listeners are sufficient
  • Teams with strict APK size constraints avoiding additional library dependencies
  • Developers new to reactive programming who need quicker onboarding

Pros & Cons

Pros

Comprehensive Widget Coverage

Supports platform widgets, AndroidX components, and Material Design, as detailed in the modular implementation dependencies in the README.

Modular Integration

Allows selective inclusion of bindings (e.g., rxbinding-core, rxbinding-appcompat), minimizing APK size as highlighted in the value proposition.

Powerful Event Composition

Enables use of RxJava operators like debounce and merge for complex UI event handling, promoting declarative and composable logic.

Lifecycle-Aware Subscriptions

Provides utilities to manage subscriptions in Android activities and fragments, preventing memory leaks as noted in the key features.

Cons

RxJava Ecosystem Lock-in

Tightly coupled with RxJava, making it less suitable for modern Android projects using Kotlin Coroutines or other reactive streams.

Increased Complexity

Introduces reactive programming concepts that can be overkill for simple UI events, adding cognitive load compared to standard listeners.

APK Size Impact

Despite modularity, adding multiple bindings still increases APK size, which might not be ideal for resource-constrained applications.

Frequently Asked Questions

Quick Stats

Stars9,565
Forks979
Contributors0
Open Issues31
Last commit4 years ago
CreatedSince 2015

Tags

#observables#android#reactive-programming#android-development#rxjava#android-ui#ui-bindings#declarative-ui#event-handling

Built With

A
Android
K
Kotlin
R
RxJava
G
Groovy

Included in

Android12.0kRxJava304
Auto-fetched 8 hours ago

Related Projects

Guava: Google Core Libraries for JavaGuava: Google Core Libraries for Java

Google core libraries for Java

Stars51,916
Forks11,211
Last commit1 day ago
RxJavaRxJava

RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

Stars48,175
Forks7,584
Last commit4 days ago
ZXing Android-IntegrationZXing Android-Integration

ZXing ("Zebra Crossing") barcode scanning library for Java, Android

Stars34,176
Forks9,440
Last commit3 days ago
RxAndroidRxAndroid

RxJava bindings for Android

Stars19,899
Forks2,935
Last commit21 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub