Có rất nhiều trường hợp yêu cầu hiển thị mật khẩu khi nhập mật khẩu hoặc sau khi nhập mật khẩu. Ví dụ này minh họa về Cách chuyển đổi giữa ẩn và xem mật khẩu.
Bước 1 - Tạo một dự án mới trong Android Studio, đi tới Tệp ⇒ Dự án Mới và điền tất cả các chi tiết cần thiết để tạo một dự án mới.
Bước 2 - Thêm mã sau vào 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>
Trong đoạn mã trên, chúng tôi đã đưa ra hai TextInputEditText và một nút. nếu bạn bấm vào nút bấm, nó sẽ lấy dữ liệu từ văn bản chỉnh sửa và hiển thị trên Bánh mì nướng. Hoặc nếu bạn nhấp vào nút hiển thị, nó sẽ hiển thị và ẩn mật khẩu theo yêu cầu.
Bước 3 - Thêm mã sau vào 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"); } } }); } }
Để hiển thị và ẩn mật khẩu, chúng tôi sử dụng phương pháp chuyển đổi Mật khẩu như hình dưới đây -
if(PasswordVisble.getText().toString().equals("Show")) { PasswordVisble.setText("Hide"); password.setTransformationMethod(null); } else { PasswordVisble.setText("Show"); password.setTransformationMethod(new PasswordTransformationMethod()); }
Trong phần trên, định nghĩa là
Show password: password.setTransformationMethod(null); Hide password: password.setTransformationMethod(new PasswordTransformationMethod());
Bước 4 - Mở build.gradle và thêm phụ thuộc vào thư viện hỗ trợ thiết kế.
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' }
Hãy thử chạy ứng dụng của bạn. Tôi giả sử bạn đã kết nối thiết bị Di động Android thực tế với máy tính của mình. Để chạy ứng dụng từ android studio, hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào biểu tượng Chạy từ thanh công cụ. Chọn thiết bị di động của bạn làm tùy chọn, sau đó kiểm tra thiết bị di động sẽ hiển thị màn hình mặc định của bạn -
Đó là một màn hình ban đầu và nhấp vào nút hiển thị với đầu vào nhập mật khẩu. nó sẽ hiển thị lỗi như hình trên.
Bây giờ nhập một số dữ liệu vào văn bản chỉnh sửa mật khẩu và nhấp vào nút hiển thị, nó sẽ hiển thị đầu ra như hình dưới đây-