Android FlatUI Kit

Related tags

UI/UX FlatUI
Overview

Android FlatUI

FlatUI is a library that lets you use native android widgets with a better and customized look.

You can define the widgets in XML or create on run time in JAVA. Even though the widgets are customized, you can create your styles with attributes.

There are many predefined themes inside this library but you can also use your own colors easily.

!!! There may be some unexpected results with different screen resolutions and different Android versions. If you have some problems or solutions to those problems please let me know.

Features included

  • Creating widgets inside XML.
  • Creating widgets inside JAVA.
  • Using existing and custom themes.
  • Using existing and custom fonts.
  • Changing theme and attributes at runtime.
  • Changing ActionBar theme.

Latest Changes

  • Add ease and ripple effects to buttons : 3.0.0
  • Fix issue #30 - Merge pull requests #34 (@sherwinrobles), #32 (@aliok), #28 (@weiwelcome0) :2.2.0
  • Fix issue #22 - NPE-while-creating-views-dynamically :2.1.1
  • Fix issue #14, 15, 19, 26 - Attribute name clash (contribution from @aimanbaharum) :2.1.0
  • Fix issue #17 - FlatButton padding applied (solution from @jstefanowski) :2.0.4
  • Fix issue #18 - Consecutive activity opening (pull request from @michalbrz) :2.0.3

Widgets

Themes

Themes

Themes

Including into your project

Add the following dependency to your build.gradle.

dependencies {
    compile 'com.github.eluleci:flatui:3.0.0'
}

Main Java functions

// Converts the default values (radius, size, border) to dp to be compatible with different
// screen sizes. If you skip this there may be problem with different screen densities
FlatUI.initDefaultValues(this);

// Setting default theme to avoid to add the attribute "theme" to XML 
// and to be able to change the whole theme at once
FlatUI.setDefaultTheme(FlatUI.DEEP);
FlatUI.setDefaultTheme(R.array.my_custom_theme);    // for using custom theme as default

// Getting action bar drawable and setting it.
// Sometimes weird problems may occur while changing action bar drawable at runtime.
// You can try to set title of the action bar to invalidate it after setting background.
getActionBar().setBackgroundDrawable(FlatUI.getActionBarDrawable(FlatUI.DEEP, false));
getSupportActionBar().setBackgroundDrawable(FlatUI.getActionBarDrawable(FlatUI.DEEP, false));

Using custom colors

You can use your own colors in two ways.

1 - Creating color array in xml and referencing it.

<!-- CREATE A COLOR ARRAY IN COLORS XML -->
<color name="custom_theme_darker">#ad843d</color>
<color name="custom_theme_dark">#d4a14a</color>
<color name="custom_theme_primary">#fbbf58</color>
<color name="custom_theme_light">#fae8c8</color>

<integer-array name="custom_theme">
    <item>@color/custom_theme_darker</item> <!-- really much darker color of main color -->
    <item>@color/custom_theme_dark</item> <!-- a bit darker color of your main color -->
    <item>@color/custom_theme_primary</item> <!-- main color of your theme -->
    <item>@color/custom_theme_light</item> <!-- really much lighter color of main color -->
</integer-array>

<!-- REFERENCE THE ARRAY IN LAYOUT FILE -->
<com.cengalabs.flatui.views.FlatButton
    ...
    flatui:fl_theme="@array/custom_theme" />

2 - Creating color array in java and setting it

int[] myColors = {Color.RED, Color.BLUE, Color.GREEN, Color.BLACK};

((FlatSeekBar) findViewById(R.id.seekbar)).getAttributes().setColors(myColors);

Using custom fonts

Roboto and Open Sans are already included to the library but you can use any font with Android FlatUI. Place your font file in assets/fonts/ folder of your project and use fontFamily and fontWeight attributes to your view. Your font file's name should be formatted like 'fontname_fontweight.ttf'. It is important to name the font file in correct way otherwise the font cannot be created. If your font file is .otf you can use the 'fontExtension' attribute for it.

<!-- default values of the font. no need to use extension if it is already ttf -->
<!-- all the weights of the roboto and open sans are already included -->
<com.cengalabs.flatui.views.FlatTextView
    ...
    flatui:fl_fontFamily="roboto"
    flatui:fl_fontWeight="light"
    flatui:fl_fontExtension="ttf"/>

Attribute list

These are only common attributes for most of the views. You can see the full list of available attributes in attrs.xml

  • fl_theme : theme of the element (reference: @array/themeName)

  • fl_textAppearance : text color on the element. dark or light colors of the theme.(none, dark, light)

  • fl_fontFamily : name of the font family (string)

  • fl_fontWeight : font weight of the text (string) (extralight, light, regular, bold, extrabold)

  • fl_fontExtension : extension of the font. use if not ttf (string)

  • fl_borderWidth : border width of the element. (dimension)

  • fl_cornerRadius : corner radius of the element. (dimension)

  • fl_size : size of the element. (dimension)

Samples

Only showing specific attributes for views.

<!-- Add this line to the root element of the layout -->
xmlns:flatui="http://schemas.android.com/apk/res-auto"

<!-- General Attributes -->
<com.cengalabs.flatui.views.SomeFlatView
    ...
    flatui:fl_theme="@array/sand"
    flatui:fl_textAppearance="dark"
    flatui:fl_fontFamily="roboto"
    flatui:fl_fontWeight="light"
    flatui:fl_fontExtension="ttf"
    flatui:fl_borderWidth="2dp"
    flatui:fl_cornerRadius="5dp"
    flatui:fl_size="20dp" />


<!-- FlatTextView -->
<com.cengalabs.flatui.views.FlatTextView
    ...
    flatui:fl_textColor="main"
    flatui:fl_backgroundColor="darker"
    flatui:fl_customBackgroundColor="#00aff0" />


<!-- FlatEditText -->
<com.cengalabs.flatui.views.FlatEditText
	...
	flatui:fl_fieldStyle="flat" />
	

<!-- FlatSeekBar -->
<!-- has no special attribute -->
<com.cengalabs.flatui.views.FlatSeekBar
	...
	/>
	

<!-- FlatButton -->
<com.cengalabs.flatui.views.FlatButton
	...
    flatui:fl_touchEffect="fl_ripple"
	flatui:fl_blockButtonEffectHeight="3dp" />


<!-- FlatCheckBox -->
<com.cengalabs.flatui.views.FlatCheckBox
	...
	flatui:fl_dotMargin="5dip" />


<!-- FlatRadioButton -->
<com.cengalabs.flatui.views.FlatRadioButton
	...
	flatui:fl_dotMargin="5dip" />


<!-- FlatToggleButton -->
<!-- You can create different looks by playing with height, width, size, radius and space -->
<com.cengalabs.flatui.views.FlatToggleButton
	...
	flatui:fl_space="5dip" />

	

License

Copyright 2014 CengaLabs.

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.
Comments
  • Google Play Services 4.4.52 attribute theme error

    Google Play Services 4.4.52 attribute theme error

    Hi, new Google Play Services hit me with an error: Error:Attribute "theme" has already been defined It points to com.google.android.gms\play-services\4.4.52\res\values\wallet_attrs.xml

    <!-- Attributes for the WalletFragment &lt;fragment&gt; tag -->
        <declare-styleable name="WalletFragmentOptions">
            <!-- Theme to be used for the Wallet selector -->
            <attr name="theme" format="enum">
                <enum name="holo_dark" value="0"/>
                <enum name="holo_light" value="1"/>
            </attr>
        </declare-styleable>
    

    Is there a way to fix it?

    opened by headsvk 8
  • Project Build Error?

    Project Build Error?

    Hi, Im trying to implement the flatUI on my android app, but if you build it, it gives some build error, secondly there is no clear description how to use it on eclipse since I am not using android studio. Please advise. Thanks

    opened by ShooterArk 7
  • Inflate exception for Seekbar on Android L

    Inflate exception for Seekbar on Android L

    Appears to be an incorrect cast

    Caused by: java.lang.ClassCastException: android.graphics.drawable.StateListDrawable cannot be cast to android.graphics.drawable.LayerDrawable
    

    https://github.com/eluleci/FlatUI/blob/master/library/src/main/java/com/cengalabs/flatui/views/FlatSeekBar.java#L83

    <com.cengalabs.flatui.views.FlatSeekBar
                        flatui:theme="@array/snow"
                        android:id="@+id/font_size"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:max="40"
                        />
    
    07-15 14:20:49.762  15298-15298/com.snap E/AndroidRuntime﹕ FATAL EXCEPTION: main
        Process: com.snap, PID: 15298
        java.lang.RuntimeException: Unable to start activity ComponentInfo{com.snap/com.snap.DragAndDrop}: android.view.InflateException: Binary XML file line #179: Error inflating class com.cengalabs.flatui.views.FlatSeekBar
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2255)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2317)
                at android.app.ActivityThread.access$800(ActivityThread.java:143)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1258)
                at android.os.Handler.dispatchMessage(Handler.java:102)
                at android.os.Looper.loop(Looper.java:135)
                at android.app.ActivityThread.main(ActivityThread.java:5070)
                at java.lang.reflect.Method.invoke(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:372)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:836)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:631)
         Caused by: android.view.InflateException: Binary XML file line #179: Error inflating class com.cengalabs.flatui.views.FlatSeekBar
                at android.view.LayoutInflater.createView(LayoutInflater.java:629)
                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:739)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:802)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:805)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:805)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:805)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:500)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:410)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:361)
                at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:350)
                at android.app.Activity.setContentView(Activity.java:2122)
                at com.snap.DragAndDrop.onCreate(DragAndDrop.java:112)
                at android.app.Activity.performCreate(Activity.java:5720)
                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1102)
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2208)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2317)
                at android.app.ActivityThread.access$800(ActivityThread.java:143)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1258)
                at android.os.Handler.dispatchMessage(Handler.java:102)
                at android.os.Looper.loop(Looper.java:135)
                at android.app.ActivityThread.main(ActivityThread.java:5070)
                at java.lang.reflect.Method.invoke(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:372)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:836)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:631)
         Caused by: java.lang.reflect.InvocationTargetException
                at java.lang.reflect.Constructor.newInstance(Native Method)
                at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
                at android.view.LayoutInflater.createView(LayoutInflater.java:603)
                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:739)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:802)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:805)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:805)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:805)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:500)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:410)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:361)
                at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:350)
                at android.app.Activity.setContentView(Activity.java:2122)
                at com.snap.DragAndDrop.onCreate(DragAndDrop.java:112)
                at android.app.Activity.performCreate(Activity.java:5720)
                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1102)
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2208)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2317)
                at android.app.ActivityThread.access$800(ActivityThread.java:143)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1258)
                at android.os.Handler.dispatchMessage(Handler.java:102)
                at android.os.Looper.loop(Looper.java:135)
                at android.app.ActivityThread.main(ActivityThread.java:5070)
                at java.lang.reflect.Method.invoke(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:372)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:836)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:631)
         Caused by: java.lang.ClassCastException: android.graphics.drawable.StateListDrawable cannot be cast to android.graphics.drawable.LayerDrawable
                at com.cengalabs.flatui.views.FlatSeekBar.init(FlatSeekBar.java:83)
                at com.cengalabs.flatui.views.FlatSeekBar.<init>(FlatSeekBar.java:31)
                at java.lang.reflect.Constructor.newInstance(Native Method)
                at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
                at android.view.LayoutInflater.createView(LayoutInflater.java:603)
                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:739)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:802)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:805)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:805)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:805)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:500)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:410)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:361)
                at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:350)
                at android.app.Activity.setContentView(Activity.java:2122)
                at com.snap.DragAndDrop.onCreate(DragAndDrop.java:112)
                at android.app.Activity.performCreate(Activity.java:5720)
                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1102)
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2208)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2317)
                at android.app.ActivityThread.access$800(ActivityThread.java:143)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1258)
                at android.os.Handler.dispatchMessage(Handler.java:102)
                at android.os.Looper.loop(Looper.java:135)
                at android.app.ActivityThread.main(ActivityThread.java:5070)
                at java.lang.reflect.Method.invoke(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:372)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:836)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:631)
    
    opened by robisaks 6
  • Is there any way to use it with Maven instead of Gradle?

    Is there any way to use it with Maven instead of Gradle?

    Hi,

    My projects use maven and I put the dependencie bellow in the pom.xml:

    <dependency>
          <groupId>com.github.eluleci</groupId>
          <artifactId>flatui</artifactId>
          <version>0.1.2</version>
    </dependency>
    

    So, my layout file is something like that:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:flatui="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
    
        <com.cengalabs.flatui.views.FlatEditText
            android:id="@+id/edittext_flat"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            flatui:cornerRadius="3dip"
            flatui:fieldStyle="flat"
            flatui:theme="Sand" />
    </LinearLayout>
    

    My project doesn't work, it has some errors: Error parsing XML: unbound prefix Attribute is missing the Android namespace prefix

    I really liked this library and I'd like too much to use it with maven.

    Thank you,

    opened by rodoufu 6
  • Remove AppComp dependency

    Remove AppComp dependency

    I would suggest drop AppComp dependency out from this library, only provide actionbar background drawable producer function in this library, and developer can change the actionbar bg by themself. It's always good to keep library simple and less dependency, besides there still huge amount of people using ABS now.

    opened by soarcn 6
  • Documentation - Samples

    Documentation - Samples

    I tried this but it doesn't work (gives an error Error parsing XML: unbound prefix)

    <com.cengalabs.flatui.views.FlatEditText
        ...
        flatui:fl_fieldStyle="flat" />
    

    However, this works

    <com.cengalabs.flatui.views.FlatEditText
        ...
        fl_fieldStyle="flat" />
    

    If the latter is the expected behaviour, maybe the documentation can be updated.

    opened by cheenu 5
  • Rendering problems on Android Studio

    Rendering problems on Android Studio

    Hi, I'm having this issue on Android Studio, I don't know how to fix it. It's weird because I did a test a month ago and everything worked fine. I'm using the API 19. I'm trying to add a simpel edit text. Also, if I run the app on the emulator, the control is not rendered properly.

    Here's a screenshot of the error.

    rendering

    And here's the layout

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:flatui="http://schemas.android.com/apk/res-auto"
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:paddingLeft="@dimen/activity_horizontal_margin"
                android:paddingRight="@dimen/activity_horizontal_margin"
                android:paddingTop="@dimen/activity_vertical_margin"
                android:paddingBottom="@dimen/activity_vertical_margin"
                android:background="@color/background">
    
    <com.cengalabs.flatui.views.FlatTextView
            android:id="@+id/etUsername"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dip"
            android:layout_marginLeft="5dip"
            android:maxLines="1"
            android:gravity="center_vertical"
            android:text="Edit Texts"
            flatui:textColor="main"
            flatui:theme="@array/candy"/>
    </RelativeLayout>
    

    Thanks in advance

    opened by ernes87lp 4
  • Flat Ui in Android using Android Studio

    Flat Ui in Android using Android Studio

    I am using Flat Ui in my Android Application using Android Studio but i am unable to find AutoCompleteTextView inside Flat Ui and I have to use AutoCompleteTextview in my application so anyone suggest me the way to use that?

    opened by chintan90 3
  • Strange Issue on  Consecutive Activity Opening.

    Strange Issue on Consecutive Activity Opening.

    screenshot_2014-06-21-10-32-40 screenshot_2014-06-21-10-32-08 screenshot_2014-06-21-10-32-20 screenshot_2014-06-21-10-32-27 screenshot_2014-06-21-10-32-33

    The editbox and buttons gets rounded and border width gets broader each time i open the activity and goes back to normal to restarting application. Also this affects all the activities and radiobuttons stop working/or doesn't show to be working.

    opened by amank22 3
  • Prefix resources to ignore resource name clashes

    Prefix resources to ignore resource name clashes

    You should prefix the library resources using the new android gradle option to avoid name clashes with other libraries:

    android {
      resourcePrefix 'mylib_'
    }
    
    opened by kloon15 3
  • Have you thought about intergrating Colour?

    Have you thought about intergrating Colour?

    Hey this is a great lib! I was just wondering if you have thought about integrating Colour. I think it could help extend your project. I might be interested in contributing this if you think it is a good idea.

    opened by jpotts18 3
  • flatui:fl_theme issue

    flatui:fl_theme issue

    Hi ! after adding the library to my project, i have encountered a problem with the fl_theme attribute, this one doesn't change at all and sticks to blood theme forever, i want to know why the flatui:fl_theme attribute doesn't work with the @array/OtherThemes value ?

    PS : i searched the source code and found that in case" setThemeSilent(int theme, Resources resources) " raises an exception, the blood theme applies automatically, does this mean that the problem comes from @array/ value ? or did i miss something ?

    thank you in advance ^^

    opened by IncBin94 0
  • Attribute Errors Occured, unable to find attribute.

    Attribute Errors Occured, unable to find attribute.

    attrs.xml content:

    <!-- FlatButton -->
        <declare-styleable name="fl_FlatButton">
            <attr name="fl_theme" />
            <attr name="fl_fontFamily" />
            <attr name="fl_fontWeight" />
            <attr name="fl_fontExtension" />
            <attr name="fl_textAppearance" />
            <attr name="fl_cornerRadius" />
            <attr name="fl_touchEffect" />
    
            <!-- Defines the height of the border bottom of the button -->
            <attr name="fl_blockButtonEffectHeight" format="dimension" />
        </declare-styleable>
    

    And Errors Below Shew Up:

    ERROR: In <declare-styleable> fl_FlatButton, unable to find attribute fl_theme
    ERROR: In <declare-styleable> fl_FlatButton, unable to find attribute fl_touchEffect
    ERROR: In <declare-styleable> fl_FlatButton, unable to find attribute fl_cornerRadius
    ERROR: In <declare-styleable> fl_FlatButton, unable to find attribute fl_fontExtension
    ERROR: In <declare-styleable> fl_FlatButton, unable to find attribute fl_fontFamily
    ERROR: In <declare-styleable> fl_FlatButton, unable to find attribute fl_fontWeight
    ERROR: In <declare-styleable> fl_FlatButton, unable to find attribute fl_textAppearance
    

    In this file, there are also other declare-styleable items, and nothing bad happens to them, only this code snippet can't fit in. So Why?

    opened by WaylanPunch 0
Owner
Emir Lüleci
Co-founder of Mentornity, Software Engineer
Emir Lüleci
Android library used to create an awesome Android UI based on a draggable element similar to the last YouTube graphic component.

Draggable Panel DEPRECATED. This project is not maintained anymore. Draggable Panel is an Android library created to build a draggable user interface

Pedro Vicente Gómez Sánchez 3k Dec 6, 2022
TourGuide is an Android library that aims to provide an easy way to add pointers with animations over a desired Android View

TourGuide TourGuide is an Android library. It lets you add pointer, overlay and tooltip easily, guiding users on how to use your app. Refer to the exa

Tan Jun Rong 2.6k Jan 5, 2023
Bubbles for Android is an Android library to provide chat heads capabilities on your apps. With a fast way to integrate with your development.

Bubbles for Android Bubbles for Android is an Android library to provide chat heads capabilities on your apps. With a fast way to integrate with your

Txus Ballesteros 1.5k Jan 2, 2023
View that imitates Ripple Effect on click which was introduced in Android L (for Android 2.3+)

RippleView View that imitates Ripple Effect on click which was introduced in Android L. Usage For a working implementation, Have a look at the Sample

Muthuramakrishnan Viswanathan 1.2k Dec 30, 2022
A new canvas drawing library for Android. Aims to be the Fabric.js for Android. Supports text, images, and hand/stylus drawing input. The library has a website and API docs, check it out

FabricView - A new canvas drawing library for Android. The library was born as part of a project in SD Hacks (www.sdhacks.io) on October 3rd. It is cu

Antwan Gaggi 1k Dec 13, 2022
MarkdownView is an Android webview with the capablity of loading Markdown text or file and display it as HTML, it uses MarkdownJ and extends Android webview.

About MarkdownView (Markdown For Android) is an Android library that helps you display Markdown text or files (local/remote) as formatted HTML, and st

Feras Alnatsheh 1k Dec 20, 2022
SwipeBack for Android Activities to do pretty the same as the android "back-button" will do, but in a really intuitive way by using a swipe gesture

SwipeBack SwipeBack is for Android Activities to do pretty the same as the android "back-button" will do, but in a really intuitive way by using a swi

Hannes Dorfmann 697 Dec 14, 2022
A backport of the SwitchPreference component that was introduced on Android 4 (ICS / level 14). This port works on Android 2.1+ (Eclair MR1 / level 7).

Android Switch Preference Backport A backport of the SwitchPreference component that was introduced on Android 4 (ICS / level 14). This port works on

Benoit Lubek 498 Dec 29, 2022
Wizard Pager is a library that provides an example implementation of a Wizard UI on Android, it's based of Roman Nurik's wizard pager (https://github.com/romannurik/android-wizardpager)

Wizard Pager Wizard Pager is a library that provides an example implementation of a Wizard UI on Android, it's based of Roman Nurik's wizard pager (ht

Julián Suárez 520 Nov 11, 2022
Make your native android Toasts Fancy. A library that takes the standard Android toast to the next level with a variety of styling options. Style your toast from code.

FancyToast-Android Prerequisites Add this in your root build.gradle file (not your module build.gradle file): allprojects { repositories { ... ma

Shashank Singhal 1.2k Dec 26, 2022
Make your native android Dialog Fancy. A library that takes the standard Android Dialog to the next level with a variety of styling options. Style your dialog from code.

FancyAlertDialog-Android Prerequisites Add this in your root build.gradle file (not your module build.gradle file): allprojects { repositories { ..

Shashank Singhal 350 Dec 9, 2022
Xamarin.Android provides open-source bindings of the Android SDK for use with .NET managed languages such as C#

Xamarin.Android Xamarin.Android provides open-source bindings of the Android SDK for use with .NET managed languages such as C#. Build Status Platform

Xamarin 1.8k Jan 5, 2023
A Tinder-like Android library to create the swipe cards effect. You can swipe left or right to like or dislike the content.

Swipecards Travis master: A Tinder-like cards effect as of August 2014. You can swipe left or right to like or dislike the content. The library create

Dionysis Lorentzos 2.3k Dec 9, 2022
Bootstrap style widgets for Android, with Glyph Icons

Android-Bootstrap Android Bootstrap is an Android library which provides custom views styled according to the Twitter Bootstrap Specification. This al

Bearded Hen 7.3k Jan 3, 2023
[] A fast PDF reader component for Android development

This project is no longer maintained. You can find a good replacement here, which is a fork relying on Pdfium instead of Vudroid/MuPDF for decoding PD

Joan Zapata 2.8k Dec 16, 2022
[] Define and render UI specs on top of your Android UI

dspec A simple way to define and render UI specs on top of your Android UI. Usage Enclose the target UI with a DesignSpecFrameLayout, usually the root

Lucas Rocha 561 Dec 16, 2022
A Material design Android pincode library. Supports Fingerprint.

LolliPin A Lollipop material design styled android pincode library (API 14+) To include in your project, add this to your build.gradle file: //Loll

Omada Health 1.6k Nov 25, 2022
Android Library to implement simple touch/tap/swipe gestures

SimpleFingerGestures An android library to implement simple 1 or 2 finger gestures easily Example Library The library is inside the libSFG folder Samp

Arnav Gupta 315 Dec 21, 2022