The login page is used for authentication purposes in the applications. We required a firstly sign-up page where users will register themselves and will be able to log in further using a username and password
In this project, we have created a simple login page in the android studio where the authentication purpose is static, meaning the username and password will already be set in the code. With the same set of usernames and passwords, the user has to log in.
Please find the brand color as #8692f7 (Purple)
Add the color in the colors.xml file as given:
<color name="purple">#8692f7</color>
Download the login background image for free:
Step 1: Open Android Studio, Create New Project and Choose Empty Activity. Click Finish.
Step 2: Add Color under folder res ->values->colors.xml
You can use any color according to your app requirements, I have used our brand color #8692f7.
<color name="purple">#8692f7</color>
Step 3: Create custom_edittext.xml
Right-click on the drawable folder under the res folder then click on New -> Drawable Resource File
The round corners are 30dp, you can customize them as per your requirements.
Add two vector assets, the person icon and lock icon, and give the background tint as #8692f7 color.
Type the below code:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <stroke android:width="2dp" android:color="@color/lavender"/> <corners android:radius="30dp"/> </shape>
Step 4: Type the below code in activity_main.xml
We have created a minimal and beautiful design for the login page in android studio.
We have used Linear Layout in which a CardView is present and then two EditText and one Button.
To give it a style, we have added the CardView background as custom_edittext.xml which will provide round corners with purple color.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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" android:orientation="vertical" android:gravity="center" android:background="@drawable/loginbkg" tools:context=".MainActivity"> <androidx.cardview.widget.CardView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="30dp" app:cardCornerRadius="30dp" app:cardElevation="20dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_gravity="center_horizontal" android:padding="24dp" android:background="@drawable/custom_edittext"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Login" android:id="@+id/loginText" android:textSize="36sp" android:textAlignment="center" android:textStyle="bold" android:textColor="@color/lavender"/> <EditText android:layout_width="match_parent" android:layout_height="50dp" android:id="@+id/username" android:background="@drawable/custom_edittext" android:layout_marginTop="40dp" android:padding="8dp" android:hint="Username" android:drawableLeft="@drawable/ic_baseline_person_24" android:textColor="@color/black" android:drawablePadding="8dp"/> <EditText android:layout_width="match_parent" android:layout_height="50dp" android:id="@+id/password" android:background="@drawable/custom_edittext" android:layout_marginTop="20dp" android:inputType="textPassword" android:padding="8dp" android:hint="Password" android:drawableLeft="@drawable/ic_baseline_lock_24" android:textColor="@color/black" android:drawablePadding="8dp"/> <Button android:layout_width="match_parent" android:layout_height="60dp" android:text="Login" android:id="@+id/loginButton" android:textSize="18sp" android:layout_marginTop="30dp" android:backgroundTint="@color/lavender" app:cornerRadius = "20dp"/> </LinearLayout> </androidx.cardview.widget.CardView> </LinearLayout>
Step 5: Type the below code in MainActivity.java
There is a button named as loginButton on which we have set an onClickListener and in that, we have written the below logic.
We have set the username as “user” and the password as “1234”, so if the string matches with the user’s string then the toast will be shown as Login Successful but if the user’s string does not match with the static string then the toast will be shown as “Login Failed!”.
package com.example.loginpage import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.Button import android.widget.EditText import android.widget.Toast import com.example.loginpage.databinding.ActivityMainBinding class MainActivity : AppCompatActivity() { private lateinit var binding: ActivityMainBinding lateinit var username : EditText lateinit var password: EditText lateinit var loginButton: Button override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) binding.loginButton.setOnClickListener(View.OnClickListener { if (binding.username.text.toString() == "user" && binding.password.text.toString() == "1234"){ Toast.makeText(this, "Login Successful!", Toast.LENGTH_SHORT).show() } else { Toast.makeText(this, "Login Failed!", Toast.LENGTH_SHORT).show() } }) } }
If you have any queries or errors, please feel free to comment below 🙂
For detailed steps, watch our youtube video: Login Page in Android Studio using Java
Check our popular post here: How to Create Splash Screen in Android Studio