Sometime, we have password field in android appliction. In some special case we want show and hide password. see below simple tutorial demo for that.
1. Create XML file in layout folder "res/layout/activity_hideshowpassword.xml".
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#99afafaf" android:gravity="center" android:padding="10dp" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:shadowColor="@android:color/black" android:shadowDx="0.5" android:shadowDy="0.5" android:shadowRadius="1" android:text="Show/Hide Password" android:textColor="@android:color/white" android:textSize="22sp" android:textStyle="bold" /> </LinearLayout> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginTop="20dp" android:text="Password" tools:context=".MainActivity" /> <EditText android:id="@+id/edt_Password" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="14dp" android:ems="10" android:inputType="textPassword" > <requestFocus /> </EditText> <CheckBox android:id="@+id/chbox_showpassword" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginTop="8dp" android:text="Show Password" /> </LinearLayout>
2. Create on activity java file "ShowHidePasswordActivity.java"
import android.app.Activity; import android.os.Bundle; import android.text.method.HideReturnsTransformationMethod; import android.text.method.PasswordTransformationMethod; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.EditText; public class ShowHidePasswordActivity extends Activity { private EditText edt_password; private CheckBox mCbShowPwd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_hideshowpassword); edt_password = (EditText) findViewById(R.id.edt_Password); mCbShowPwd = (CheckBox) findViewById(R.id.chbox_showpassword); //Add onCheckedListener mCbShowPwd.setOnCheckedChangeListener(new OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (!isChecked) { //Show password edt_password.setTransformationMethod(PasswordTransformationMethod.getInstance()); } else { //Hide password edt_password.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); } } }); } }
3.Add ShowHidePasswordActivity activity class in AndroidManifest.xml file
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.limbani" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".ShowHidePasswordActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
4. ScreenShot
Download APK file Here
Enjoy :)
Thank you.