Convert Figma logo to code with AI

markushi logoandroid-ui

Android UI library.

2,211
425
2,211
12

Top Related Projects

A curated list of awesome Android UI/UX libraries

A Material Design ViewPager easy to use library

Implementation of Ripple effect from Material Design for Android API 9+

This is a library with components of Android L to you use in android 2.2

😍 A beautiful, fluid, and extensible dialogs API for Kotlin & Android.

You can easily add awesome animated context menu to your app.

Quick Overview

The markushi/android-ui repository is a collection of custom Android UI components and animations. It provides developers with ready-to-use, visually appealing UI elements that can enhance the user experience in Android applications. The project focuses on creating smooth, interactive, and customizable UI components.

Pros

  • Offers unique and visually appealing UI components
  • Provides smooth animations and transitions
  • Easy to integrate into existing Android projects
  • Customizable to fit various app designs and themes

Cons

  • Limited documentation and usage examples
  • Not actively maintained (last update was several years ago)
  • May require additional effort to ensure compatibility with newer Android versions
  • Limited number of components compared to more comprehensive UI libraries

Code Examples

  1. Adding a RevealColorView to your layout:
<com.github.markushi.ui.RevealColorView
    android:id="@+id/reveal"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
  1. Using the RevealColorView in your Activity:
RevealColorView revealColorView = findViewById(R.id.reveal);
revealColorView.reveal(centerX, centerY, color, startRadius, endRadius, duration);
  1. Implementing an ActionView:
ActionView actionView = findViewById(R.id.action);
actionView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        actionView.setAction(ActionView.Action.BACK, true);
    }
});

Getting Started

To use the markushi/android-ui library in your Android project:

  1. Add the JitPack repository to your root build.gradle file:
allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}
  1. Add the dependency to your app's build.gradle file:
dependencies {
    implementation 'com.github.markushi:android-ui:1.2'
}
  1. Sync your project with Gradle files, and you're ready to use the UI components in your layouts and activities.

Competitor Comparisons

A curated list of awesome Android UI/UX libraries

Pros of awesome-android-ui

  • Comprehensive collection of UI libraries and components
  • Regularly updated with new contributions from the community
  • Categorized for easy navigation and discovery

Cons of awesome-android-ui

  • Not a standalone library, requires additional implementation
  • May include outdated or deprecated libraries

Code comparison

android-ui:

RevealFrameLayout revealFrameLayout = new RevealFrameLayout(this);
CircularRevealWidget revealWidget = new CircularRevealWidget(this);
revealFrameLayout.addView(revealWidget);

awesome-android-ui: (No direct code comparison available as it's a curated list, not a library)

Summary

android-ui is a specific UI library focusing on reveal animations, while awesome-android-ui is a curated list of various Android UI libraries and components. android-ui provides a more focused set of tools for specific animations, whereas awesome-android-ui offers a broader range of UI resources but requires additional implementation effort. The choice between the two depends on whether you need a specific animation library or want to explore a variety of UI options for your Android project.

A Material Design ViewPager easy to use library

Pros of MaterialViewPager

  • Offers a more comprehensive Material Design implementation with ViewPager integration
  • Provides smooth parallax effects and header animations out of the box
  • Includes built-in support for multiple view types (RecyclerView, ScrollView, WebView)

Cons of MaterialViewPager

  • May have a steeper learning curve due to its more complex implementation
  • Could be considered "heavier" in terms of resource usage compared to android-ui
  • Less flexibility for customizing individual UI components

Code Comparison

MaterialViewPager:

<com.github.florent37.materialviewpager.MaterialViewPager
    android:id="@+id/materialViewPager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:viewpager_logo="@layout/header_logo"
    app:viewpager_logoMarginTop="100dp"
    app:viewpager_color="@color/colorPrimary"
    app:viewpager_headerHeight="200dp"
    app:viewpager_headerAlpha="1.0"
    app:viewpager_hideLogoWithFade="false"
    app:viewpager_hideToolbarAndTitle="true"
    app:viewpager_enableToolbarElevation="true"
    app:viewpager_parallaxHeaderFactor="1.5"
    app:viewpager_headerAdditionalHeight="20dp"
    app:viewpager_displayToolbarWhenSwipe="true"
    app:viewpager_transparentToolbar="true"
    app:viewpager_animatedHeaderImage="true"
    app:viewpager_disableToolbar="false"/>

android-ui:

<com.markushi.ui.CircleButton
    android:layout_width="64dip"
    android:layout_height="64dip"
    android:src="@drawable/ic_action_new"
    app:cb_color="#99CC00"
    app:cb_pressedRingWidth="8dip" />

Implementation of Ripple effect from Material Design for Android API 9+

Pros of RippleEffect

  • Offers more customization options for ripple effects
  • Supports a wider range of Android versions (API 9+)
  • Provides smoother animations and better performance

Cons of RippleEffect

  • Less actively maintained (last update in 2015)
  • Limited to ripple effects, while android-ui offers more UI components
  • May require more setup and configuration

Code Comparison

RippleEffect:

RippleView rippleView = (RippleView) findViewById(R.id.ripple);
rippleView.setRippleColor(Color.parseColor("#ff0000"));
rippleView.setRippleDuration(1000);
rippleView.setRippleAlpha(0.2f);

android-ui:

RevealColorView revealColorView = (RevealColorView) findViewById(R.id.reveal);
revealColorView.reveal(centerX, centerY, color, radius, duration);

Both libraries aim to enhance Android UI elements, but RippleEffect focuses specifically on ripple animations, while android-ui provides a broader set of UI components and effects. RippleEffect offers more customization for ripples, but android-ui is more actively maintained and provides a wider range of UI enhancements.

This is a library with components of Android L to you use in android 2.2

Pros of MaterialDesignLibrary

  • More comprehensive set of Material Design components
  • Includes custom views like FloatingActionButton and SnackBar
  • Better documentation and usage examples

Cons of MaterialDesignLibrary

  • Less actively maintained (last update was several years ago)
  • May not be fully compatible with the latest Android versions
  • Larger library size, potentially increasing app size

Code Comparison

MaterialDesignLibrary:

<com.gc.materialdesign.views.ButtonRectangle
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#1E88E5"
    android:text="Button" />

android-ui:

<com.markushi.ui.ActionView
    android:id="@+id/action"
    android:layout_width="56dp"
    android:layout_height="56dp"
    app:av_color="@android:color/white"
    app:av_action="drawer" />

MaterialDesignLibrary offers a wider range of pre-built Material Design components, making it easier to implement complex UI elements. However, android-ui focuses on specific UI components and animations, providing a more lightweight solution for developers who need only certain features.

While MaterialDesignLibrary hasn't been updated recently, android-ui has also seen limited activity. Developers should consider their specific needs and the potential trade-offs between feature set and maintenance when choosing between these libraries.

😍 A beautiful, fluid, and extensible dialogs API for Kotlin & Android.

Pros of material-dialogs

  • More comprehensive and feature-rich library for creating Material Design dialogs
  • Actively maintained with frequent updates and bug fixes
  • Extensive documentation and community support

Cons of material-dialogs

  • Larger library size, potentially increasing app size
  • Steeper learning curve due to more complex API

Code Comparison

material-dialogs:

MaterialDialog(this).show {
    title(R.string.dialog_title)
    message(R.string.dialog_message)
    positiveButton(R.string.agree)
    negativeButton(R.string.disagree)
}

android-ui:

new AlertDialog.Builder(this)
    .setTitle(R.string.dialog_title)
    .setMessage(R.string.dialog_message)
    .setPositiveButton(R.string.agree, null)
    .setNegativeButton(R.string.disagree, null)
    .show();

Summary

material-dialogs offers a more comprehensive solution for creating Material Design dialogs in Android applications, with active maintenance and extensive features. However, it comes with a larger library size and potentially more complex API. android-ui, while simpler, may lack some advanced features and recent updates. The choice between the two depends on the specific project requirements and the developer's preference for simplicity versus feature richness.

You can easily add awesome animated context menu to your app.

Pros of Context-Menu.Android

  • More focused on a specific UI component (context menu)
  • Provides a visually appealing and animated context menu implementation
  • Actively maintained with recent updates

Cons of Context-Menu.Android

  • Limited to context menu functionality
  • May require more setup and customization for specific use cases

Code Comparison

Context-Menu.Android:

MenuObject close = new MenuObject();
close.setResource(R.drawable.icn_close);
menuObjects.add(close);

MenuParams menuParams = new MenuParams();
menuParams.setActionBarSize((int) getResources().getDimension(R.dimen.tool_bar_height));
menuParams.setMenuObjects(menuObjects);
menuParams.setClosableOutside(false);

android-ui:

RevealFrameLayout revealFrameLayout = new RevealFrameLayout(this);
CircularRevealWidget revealWidget = new CircularRevealWidget(this);
revealFrameLayout.addView(revealWidget);

Additional Considerations

  • android-ui offers a broader range of UI components and animations
  • Context-Menu.Android provides a more polished and ready-to-use context menu solution
  • android-ui may be better suited for developers looking for general-purpose UI utilities
  • Context-Menu.Android is ideal for projects specifically requiring an enhanced context menu

Both libraries have their merits, and the choice between them depends on the specific requirements of your Android project.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Deprecated

This library is deprecated and no further development is taking place.

android-ui

Android library for UI components.
Gradle integration:

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.github.markushi:android-ui:1.2'
}

Requires API level 14+
Download example apk

Components

ActionView

ActionView Example
A widget which can dynamically animate between defined Actions.

<at.markushi.ui.ActionView
	android:id="@+id/action"
	android:layout_width="56dip"
	android:layout_height="56dip"
	android:padding="16dip"
	app:av_color="@android:color/white"
	app:av_action="drawer"/>

You can dynamically change the action with:

actionView.setAction(new BackAction(), ActionView.ROTATE_COUNTER_CLOCKWISE);

The following Actions are built in:

  • DrawerAction
  • BackAction
  • CloseAction
  • PlusAction

Please note: ActionView is still under development. The API might change at any time.

RevealColorView

RevealColorView Example
A component which mimics parts of the circular reveal/hide animation introduced in the Android-L preview.
Note: This is not a backport of the original reveal/hide effect.

See this example gist on how to use it.