Home

Awesome

MaterialLogin

A material-designed login (and register) view

Download

Grab via Gradle:

compile 'com.github.shem8:material-login:2.2.0'

or Maven:

<dependency>
  <groupId>com.github.shem8</groupId>
  <artifactId>material-login</artifactId>
  <version>2.2.0</version>
</dependency>

You should also add CircularReveal lib for 2.3 support- first add remote maven url

    repositories {
        maven {
            url "https://jitpack.io"
        }
    }

then add a library dependency

    dependencies {
        compile ('com.github.ozodrukh:CircularReveal:2.0.1@aar') {
            transitive = true;
        }
    }

Usage

Add the LoginView to your layout

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <shem.com.materiallogin.MaterialLoginView
        android:id="@+id/login"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</FrameLayout>

Then set your MaterialLoginViewListener to the view in code to handle register and login events:

final MaterialLoginView login = (MaterialLoginView) findViewById(R.id.login);
((DefaultLoginView)login.getLoginView()).setListener(new DefaultLoginView.DefaultLoginViewListener() {
    @Override
    public void onLogin(TextInputLayout loginUser, TextInputLayout loginPass) {
        //Handle login
    }
});

((DefaultRegisterView)login.getRegisterView()).setListener(new DefaultRegisterView.DefaultRegisterViewListener() {
    @Override
    public void onRegister(TextInputLayout registerUser, TextInputLayout registerPass, TextInputLayout registerPassRep) {
        //Handle register
    }
});

You can also fork the project and see the example app.

Customize

You can change the view colors by override it in you colors.xml:

    <color name="material_login_login_color">#000000</color>
    <color name="material_login_register_color">#00ff37</color>
    <color name="material_login_login_error_color">#ffbebe</color>
    <color name="material_login_register_error_color">#600002</color>

You can also customize the view by setting views attributes:

For the MaterialLoginView:

Attribute nameDefault value
registerIcon
registerEnabledtrue
loginViewDefaultLoginView
registerViewDefaultRegisterView

For the DefaultLoginView:

Attribute nameDefault value
loginTitleLogin
loginHintName
loginPasswordHintPassword
loginActionTextGO
loginTextColor#000000

For the DefaultRegisterView:

Attribute nameDefault value
registerTitleRegister
registerHintName
registerPasswordHintPassword
registerRepeatPasswordHintRepeat Password
registerActionTextNEXT
registerTextColor#000000

Thanks

I first saw this design by the great Boris Borisov and thought it will be nice to make it available on Android apps.

Contact Me

Pull requests are more than welcome, I'm planning to add lots of options to customize the view, and hope to do this soon. You can also contact me by mail: smagnezi8@gmail.com

License

Copyright 2015 Shem Magnezi

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.