Android
 Computer >> コンピューター >  >> プログラミング >> Android

Androidでパスワードの非表示と表示を切り替える方法


多くの場合、パスワードの入力中または入力後にパスワードを表示する必要があります。この例は、パスワードの非表示と表示を切り替える方法について示しています。

ステップ1 − Android Studioで新しいプロジェクトを作成し、[ファイル]⇒[新しいプロジェクト]に移動して、新しいプロジェクトを作成するために必要なすべての詳細を入力します。

ステップ2 −次のコードをres / layout/activity_main.xmlに追加します。

<?xml version = "1.0" encoding = "utf-8"?>
<LinearLayout xmlns:android = "https://schemas.android.com/apk/res/android"
   xmlns:tools = "https://schemas.android.com/tools"
   android:layout_width = "match_parent"
   android:layout_height = "match_parent"
   tools:context = ".MainActivity"
   android:background = "#dde4dd"
   android:orientation = "vertical">
   <android.support.design.widget.TextInputLayout
      android:layout_width = "match_parent"
      android:layout_height = "wrap_content"
      android:id = "@+id/layoutEmail"
      android:layout_marginTop = "8dp"
      android:layout_marginStart = "8dp"
      android:layout_marginEnd = "8dp"
      style = "@style/Widget.MaterialComponents.TextInputLayout.FilledBox">
      <android.support.design.widget.TextInputEditText
         android:layout_width = "match_parent"
         android:layout_height = "wrap_content"
         android:id = "@+id/email"
         android:hint = "Enter Email id"
         android:inputType = "textEmailAddress"/>
   </android.support.design.widget.TextInputLayout>
   <android.support.design.widget.TextInputLayout
      android:layout_width = "match_parent"
      android:layout_height = "wrap_content"
      android:id = "@+id/layoutPassword"
      android:layout_marginTop = "8dp"
      android:layout_marginStart = "8dp"
      android:layout_marginEnd = "8dp"
      style = "@style/Widget.MaterialComponents.TextInputLayout.FilledBox">
      <android.support.design.widget.TextInputEditText
         android:layout_width = "match_parent"
         android:layout_height = "wrap_content"
         android:id = "@+id/password"
         android:hint = "Password"
         android:inputType = "textPassword"/>
   </android.support.design.widget.TextInputLayout>
   <LinearLayout
      android:layout_width = "match_parent"
      android:gravity = "center"
      android:layout_height = "wrap_content">
      <Button
         android:id = "@+id/passwordVisible"
         android:layout_width = "wrap_content"
         android:layout_height = "wrap_content"
         android:text = "Show"></Button>
      <Button
         android:id = "@+id/click"
         android:layout_width = "wrap_content"
         android:layout_height = "wrap_content"
         android:text = "Click"></Button>
   </LinearLayout>
</LinearLayout>

上記のコードでは、2つのTextInputEditTextと1つのボタンを指定しています。クリックボタンをクリックすると、編集テキストからデータが取得され、Toastに表示されます。または、[表示]ボタンをクリックすると、要件に応じてパスワードが表示および非表示になります。

ステップ3 −次のコードをsrc / MainActivity.java

に追加します
package com.example.andy.myapplication;

import android.graphics.Point;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.method.PasswordTransformationMethod;
import android.view.TextureView;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
   Button PasswordVisble;
   EditText email,password;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      email = findViewById(R.id.email);
      password = findViewById(R.id.password);
      PasswordVisble = findViewById(R.id.passwordVisible);
      PasswordVisble.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            if(password.getText().toString().isEmpty()){
               password.setError("Please Enter Pass word");
            } else {
               if(PasswordVisble.getText().toString().equals("Show")){
               PasswordVisble.setText("Hide");
               password.setTransformationMethod(null);
               } else {
                  PasswordVisble.setText("Show");
                  password.setTransformationMethod(new PasswordTransformationMethod());
               }
            }
         }
      });
      Button click = findViewById(R.id.click);
      click.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            if(!email.getText().toString().isEmpty()&&(!password.getText().toString().isEmpty())) {
            Toast.makeText(MainActivity.this, "you have entered email id " + email.getText().toString() + "Password " + password.getText().toString(), Toast.LENGTH_LONG).show();
            } else {
               email.setError("Please Enter Email id");
               password.setError("Please Enter Pass word");
            }
         }
      });
   }
}

パスワードを表示および非表示にするために、以下に示すパスワード変換方法を使用しています-

if(PasswordVisble.getText().toString().equals("Show")) {
   PasswordVisble.setText("Hide");
   password.setTransformationMethod(null);
} else {
   PasswordVisble.setText("Show");
   password.setTransformationMethod(new PasswordTransformationMethod());
}

上記では、次のように定義されています

Show password: password.setTransformationMethod(null);

Hide password: password.setTransformationMethod(new PasswordTransformationMethod());

ステップ4 − build.gradleを開き、デザインサポートライブラリの依存関係を追加します。

apply plugin: 'com.android.application'

android {
   compileSdkVersion 28
   defaultConfig {
      applicationId "com.example.andy.myapplication"
      minSdkVersion 15
      targetSdkVersion 28
      compileSdkVersion 28
      versionCode 1
      versionName "1.0"
   testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
   }
   buildTypes {
      release {
         minifyEnabled false
         proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
      }
   }
}
dependencies {
   implementation fileTree(dir: 'libs', include: ['*.jar'])
   implementation 'com.android.support:appcompat-v7:28.0.0'
   implementation 'com.android.support:design:28.0.0'
   implementation 'com.android.support.constraint:constraint-layout:1.1.3'
   testImplementation 'junit:junit:4.12'
   androidTestImplementation 'com.android.support.test:runner:1.0.2'
   androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

アプリケーションを実行してみましょう。実際のAndroidモバイルデバイスをコンピューターに接続していると思います。 android studioからアプリを実行するには、プロジェクトのアクティビティファイルの1つを開き、ツールバーの[実行]アイコンをクリックします。オプションとしてモバイルデバイスを選択し、デフォルトの画面を表示するモバイルデバイスを確認します-

Androidでパスワードの非表示と表示を切り替える方法

これは初期画面であり、パスワードの入力を入力して表示ボタンをクリックします。上記のようにエラーが表示されます。

Androidでパスワードの非表示と表示を切り替える方法

次に、パスワード編集テキストにデータを入力し、[表示]ボタンをクリックすると、次のように出力が表示されます-

Androidでパスワードの非表示と表示を切り替える方法


  1. iPhone と Android 間でファイルを共有する方法

    「こんにちは!音楽ファイルをあなたと共有できません。 SHAREit と Xender について聞いたことがありますが、あなたの意見はどうですか?」昨夜、友人に「もう一度」と尋ねました。 スマートフォンに関しては、iPhone と Android の両方が世界中に現存するユーザーベースを享受しています。ただし、2 つのプラットフォーム間のシームレスなファイル転送は、依然として一部のユーザーにとって悩みの種です。友人や家族と共有したい大量の音楽ファイルや多くの写真/ビデオがあるかもしれませんが、実際にはそれを回避することはできません. このような状況では、SHAREit や Xender

  2. コンピュータと Android フォン間でファイルを転送する方法

    最近 Android フォンに切り替えた場合、または新しい PC を持ってきた場合。ファイル共有はある時点で必要になります。初めての場合でも慌てる必要はありません。このブログでは、コンピューターから Android にファイルを共有するために必要な方法について説明しています。 電話から PC にファイルを転送する理由はいくつかあります。セキュリティ上の目的でシステムにデータを保存したい。画像など、Android スマートフォンで編集する特定のファイルが必要です。 初心者が Android フォンから PC にファイルを転送する方法を理解するのは非常に難しい場合があります。したがって、最も一