Exploro - Beautiful Sign In Screen Android
In this post, we are going to actually code the Exploro sign-in screen which I had designed some days ago. You can see it on the ideas page of the website from the navigation panel. The design will look something like in the images below.
Demo
Table of Contents
What you need
Before starting to code you will need some drawable resources for the UI. Drawables contain the necessary images, extra layouts, custom background, and styles needed by our design so just download it from below.
This drawable folder contains some images and XML files so just copy them to your project's drawable folder.
Extra resources
The code which I am going to provide here will lack the background of the app, So if you want to have the same background with the illustrations just like in the images above, download the SVG below.
Just replace the following code in activity_main.xml.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:background="@drawable/gradient">
<!-- Replace above code with-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:background="@drawable/background">
Now your background will look like the one in the above images.Now Let's start coding the UI.
The Code
This is a very simple UI and I already provided all the necessary XML files above to download so you don't have to copy the full code here just you have to get code for the activity_main.xml file. So copy the code below and put it into the activity's layout in which you want the UI to be added.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:background="@drawable/gradient">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/logo"
android:layout_centerHorizontal="true"
android:layout_above="@id/rlayout"
android:layout_marginBottom="20dp"/>
<RelativeLayout
android:layout_width="359dp"
android:layout_height="451dp"
android:elevation="24dp"
android:id="@+id/rlayout"
android:layout_centerInParent="true">
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/rect"
android:alpha="0.4980392"/>
<TextView
android:id="@+id/go"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginStart="110dp"
android:layout_marginTop="10dp"
android:fontFamily="@font/showg"
android:text="Go"
android:textColor="@color/black"
android:textSize="48sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="..."
android:layout_centerHorizontal="true"
android:layout_toEndOf="@id/go"
android:layout_alignBaseline="@id/go"
android:textSize="18sp"
android:fontFamily="@font/showg"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/explore"
android:layout_below="@+id/go"
android:fontFamily="@font/showg"
android:layout_centerHorizontal="true"
android:text="Explore..."
android:textColor="@color/black"
android:textSize="18sp"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/user"
android:layout_marginTop="20dp"
android:background="@drawable/user"
android:layout_below="@id/explore"
android:hint="Username"
android:drawablePadding="5dp"
android:layout_centerHorizontal="true"
android:gravity="center"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/pass"
android:background="@drawable/pass"
android:layout_below="@id/user"
android:layout_marginTop="15dp"
android:hint="Password"
android:layout_centerHorizontal="true"
android:gravity="center"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/takeoff"
android:layout_below="@id/pass"
android:layout_marginTop="15dp"
android:layout_centerHorizontal="true"
android:text="Take off!"
android:fontFamily="@font/showg"
android:textSize="18sp"
android:background="@drawable/takeoff"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/opttext"
android:layout_below="@id/takeoff"
android:layout_centerHorizontal="true"
android:text="or Sign in with"
android:layout_marginTop="5dp"
android:textSize="18sp"
android:textColor="@color/black"
android:fontFamily="@font/harlowsoliditalic"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/signopt"
android:layout_below="@+id/opttext"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:src="@drawable/google"
android:background="@android:color/transparent"/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:src="@drawable/fb"
android:background="@android:color/transparent"/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:src="@drawable/apple"
android:background="@android:color/transparent"
app:tint="@color/black" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:src="@drawable/ms"
android:background="@android:color/transparent"/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/newacc"
android:layout_below="@id/signopt"
android:layout_centerHorizontal="true"
android:text="or Create New Account"
android:layout_marginTop="10dp"
android:textSize="18sp"
android:textColor="@color/black"
android:fontFamily="@font/harlowsoliditalic"/>
</RelativeLayout>
</RelativeLayout>
Now if you want to get the UI screen in fullscreen view just go to your styles.xml or themes.xml file and change your app theme to Theme.AppCompat.Light.NoActionBar
Now your beautiful UI is ready. You can use it anywhere freely and modify it as per your choice.
Thanks for visiting. Read my previous UI designing post Elegant login UI for Android.
If you want to support me just click on the coffee icon at the bottom-right corner and buy me a coffee.
Tips
- You can use this layout for any activity you want.
- The provided drawable resources can be used for other UI's.
- You can define an onclick method for Takeoff! (Sign in), Create a new account and the sign-in options with your own choice.
Join the conversation