android - win7 - your password




কিভাবে লুকান এবং পাসওয়ার্ড দেখতে সুইচ করুন (14)

পাসওয়ার্ড দেখান এবং লুকাও চেকবক্স দিয়ে Edit_Text

এক্সএমএল

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <EditText
        android:inputType="textPassword"
        android:id="@+id/edtPass"
        android:textSize="20dp"
        android:hint="password"
        android:padding="20dp"
        android:background="#efeaea"
        android:layout_width="match_parent"
        android:layout_margin="20dp"
        android:layout_height="wrap_content" />

    <CheckBox
        android:background="#ff4"
        android:layout_centerInParent="true"
        android:textSize="25dp"
        android:text="show password"
        android:layout_below="@id/edtPass"
        android:id="@+id/showPassword"
        android:layout_marginTop="20dp"
        android:layout_width="wrap_content"
        android:gravity="top|right"
        android:layout_height="wrap_content" />

</RelativeLayout>

জাভা কোড

package com.example.root.sql2;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.AppCompatCheckBox;
import android.support.v7.widget.Toolbar;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;

public class password extends AppCompatActivity {


    EditText password;
    CheckBox show_hide_password;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.hide);
        findViewById();
        show_hide_pass();



    }//end onCreate



    public void show_hide_pass(){
        show_hide_password.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                if (!b){
                    // hide password
                    password.setTransformationMethod(PasswordTransformationMethod.getInstance());

                }else{
                    // show password
                    password.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
                }
            }
        });
    } // end show_hide_pass




    public void findViewById(){ //  find ids ui and
        password = (EditText) findViewById(R.id.edtPass);
        show_hide_password = (CheckBox) findViewById(R.id.showPassword);
    }//end findViewById



}// end class

ব্যবহারকারী একটি Android EditText এ লুকানো এবং দেখার পাসওয়ার্ডের মধ্যে সুইচ করার জন্য একটি চতুর উপায় আছে কি? বেশ কয়েকটি পিসি ভিত্তিক অ্যাপ্লিকেশন ব্যবহারকারীকে এটি করতে দেয়।


Github এ https://github.com/maksim88/PasswordEditText প্রকল্পটি চেষ্টা করুন। আপনি এটি ব্যবহার করে আপনার জাভা কোড পরিবর্তন করতে হবে না। শুধু পরিবর্তন

লেখা সম্পাদনা

ট্যাগ

com.maksim88.passwordedittext.PasswordEditText

আপনার এক্সএমএল ফাইল।


আপনি app:passwordToggleEnabled="true" ব্যবহার করতে পারেন app:passwordToggleEnabled="true"

এখানে নিচে দেওয়া উদাহরণ

<android.support.design.widget.TextInputLayout
        android:id="@+id/password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:passwordToggleEnabled="true"
        android:textColorHint="@color/colorhint"
        android:textColor="@color/colortext">

আপনি setTransformationMethod দিয়ে চেষ্টা করেছেন? এটি পাঠ্য ভিউ থেকে উত্তরাধিকারসূত্রে প্রাপ্ত এবং প্যারামিটার হিসাবে একটি ট্রান্সফরমেশন মডিউল চাই।

আপনি here TransformationMethods সম্পর্কে আরও জানতে পারেন।

এটি অক্ষর প্রতিস্থাপন মত কিছু শীতল বৈশিষ্ট্য আছে।


আমার কোটলিন এক্সটেনশান। একবার সর্বত্র ব্যবহার লিখুন

fun EditText.tooglePassWord() {
this.tag = !((this.tag ?: false) as Boolean)
this.inputType = if (this.tag as Boolean)
    InputType.TYPE_TEXT_VARIATION_PASSWORD
else
    (InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_VARIATION_PASSWORD)

this.setSelection(this.length()) }

আপনি কোনও ফাইলটিতে এই পদ্ধতিটি রাখতে এবং এটি সর্বত্র এটির মতো ব্যবহার করতে পারেন

ivShowPassword.click { etPassword.tooglePassWord() }

যেখানে ivShowPassword ইমেজউইউউউ (আইপ্যা) ক্লিক করা হয় এবং etPassword এডাইটেক্স হয়


আমি ShowPassword / HidePassword কোডটি কেবল কয়েকটি লাইন সহ যুক্ত করতে সক্ষম, একটি ব্লকের স্ব-অন্তর্ভুক্ত:

protected void onCreate(Bundle savedInstanceState) {
    ...
    etPassword = (EditText)findViewById(R.id.password);
    etPassword.setTransformationMethod(new PasswordTransformationMethod()); // Hide password initially

    checkBoxShowPwd = (CheckBox)findViewById(R.id.checkBoxShowPwd);
    checkBoxShowPwd.setText(getString(R.string.label_show_password)); // Hide initially, but prompting "Show Password"
    checkBoxShowPwd.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() {
        public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
            if (isChecked) {
                etPassword.setTransformationMethod(null); // Show password when box checked
                checkBoxShowPwd.setText(getString(R.string.label_hide_password)); // Prompting "Hide Password"
            } else {
                etPassword.setTransformationMethod(new PasswordTransformationMethod()); // Hide password when box not checked
                checkBoxShowPwd.setText(getString(R.string.label_show_password)); // Prompting "Show Password"
            }
        }
    } );
    ...

আমি মনে করি আমি এই প্রশ্নের উত্তর চাই এমনকি কিছু ভাল উত্তর,

নথি অনুযায়ী TransformationMethod আমাদের মিশন না

TransformationMethod

টেক্সট ভিউ বিন্দু দিয়ে পাসওয়ার্ডের অক্ষর প্রতিস্থাপন, বা নতুন লাইনগুলিকে একক-লাইন পাঠ্য ক্ষেত্রগুলিতে লাইন বিরতিগুলি থেকে বজায় রাখার মতো কিছু করার জন্য ট্রান্সফর্মম্যাম পদ্ধতি ব্যবহার করে।

বিজ্ঞপ্তি আমি মাখন ছুরি ব্যবহার, কিন্তু ব্যবহারকারী দেখান চেক পাসওয়ার্ড যদি একই

@OnCheckedChanged(R.id.showpass)
    public void onChecked(boolean checked){
        if(checked){
            et_password.setTransformationMethod(null);
        }else {
            et_password.setTransformationMethod(new PasswordTransformationMethod());

        }
       // cursor reset his position so we need set position to the end of text
        et_password.setSelection(et_password.getText().length());
    }

এখানে TextInputEditText এবং রূপান্তর পদ্ধতি ব্যবহার না করেই আমার সমাধান।

এক্সএমএল

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView
            style="@style/FormLabel"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/username" />

        <EditText
            android:id="@+id/loginUsername"
            style="@style/EditTextStyle"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableLeft="@drawable/ic_person_outline_black_24dp"
            android:drawableStart="@drawable/ic_person_outline_black_24dp"
            android:inputType="textEmailAddress"
            android:textColor="@color/black" />

        <TextView
            style="@style/FormLabel"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:text="@string/password" />

        <EditText
            android:id="@+id/loginPassword"
            style="@style/EditTextStyle"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableEnd="@drawable/ic_visibility_off_black_24dp"
            android:drawableLeft="@drawable/ic_lock_outline_black_24dp"
            android:drawableRight="@drawable/ic_visibility_off_black_24dp"
            android:drawableStart="@drawable/ic_lock_outline_black_24dp"
            android:inputType="textPassword"
            android:textColor="@color/black" />
    </LinearLayout>

জাভা কোড

boolean VISIBLE_PASSWORD = false;  //declare as global variable befor onCreate() 
loginPassword = (EditText)findViewById(R.id.loginPassword);
loginPassword.setOnTouchListener(new View.OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
            final int DRAWABLE_LEFT = 0;
            final int DRAWABLE_TOP = 1;
            final int DRAWABLE_RIGHT = 2;
            final int DRAWABLE_BOTTOM = 3;

            if (event.getAction() == MotionEvent.ACTION_UP) {
                if (event.getRawX() >= (loginPassword.getRight() - loginPassword.getCompoundDrawables()[DRAWABLE_RIGHT].getBounds().width())) {
                    // your action here
                    //Helper.toast(LoginActivity.this, "Toggle visibility");
                    if (VISIBLE_PASSWORD) {
                        VISIBLE_PASSWORD = false;
                        loginPassword.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
                        loginPassword.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_lock_outline_black_24dp, 0, R.drawable.ic_visibility_off_black_24dp, 0);
                    } else {
                        VISIBLE_PASSWORD = true;
                        loginPassword.setInputType(InputType.TYPE_CLASS_TEXT);
                        loginPassword.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_lock_outline_black_24dp, 0, R.drawable.ic_visibility_black_24dp, 0);
                    }
                    return false;
                }
            }
            return false;
        }
    });

দেখানো:

editText.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);

লুকানোর জন্য:

editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);

এই প্রতিটি কার্সার পুনরায় সেট করা হয়, তাই:

editText.setSelection(editText.length());

পাসওয়ার্ডের পরিবর্তে বিন্দুগুলি দেখানোর জন্য পাসওয়ার্ড ট্রান্সফরমেশনম পদ্ধতি সেট করুন:

yourEditText.setTransformationMethod(new PasswordTransformationMethod());

অবশ্যই আপনি আপনার এডিটেক্সট উপাদানটিতে ডিফল্টরূপে xml লেআউট এ সেট করতে পারেন

android:password

পঠনযোগ্য পাসওয়ার্ডটি পুনরায় প্রদর্শন করতে, রূপান্তর পদ্ধতি হিসাবে কেবল নিল পাস করুন:

yourEditText.setTransformationMethod(null);

এটা আমার জন্য কাজ। এটি আপনাকে অবশ্যই সাহায্য করবে

showpass.setOnCheckedChangeListener(new OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                    if(!isChecked){

                    // show password
                    password_login.setTransformationMethod(PasswordTransformationMethod.getInstance());

                    Log.i("checker", "true");
                }

                else{
                    Log.i("checker", "false");

                     // hide password
    password_login.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
                }

            }
        });

কম্পাইল করুন 'com.android.support:appcompat-v7:24.2.0'

কম্পাইল করুন 'com.android.support:design24.2.0'

বিন্যাসে

    android:inputType="textPassword"

ইহা কাজ করছে


if (inputPassword.getTransformationMethod() == PasswordTransformationMethod.getInstance()) {
 //password is visible
                inputPassword.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
            }
else if(inputPassword.getTransformationMethod() == HideReturnsTransformationMethod.getInstance()) {
 //password is hidden
                inputPassword.setTransformationMethod(PasswordTransformationMethod.getInstance());
            }

private boolean isPasswordVisible;

private TextInputEditText firstEditText;

...

firstEditText = findViewById(R.id.et_first);

...

    private void togglePassVisability() {
    if (isPasswordVisible) {
        String pass = firstEditText.getText().toString();
        firstEditText.setTransformationMethod(PasswordTransformationMethod.getInstance());
        firstEditText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
        firstEditText.setText(pass);
        firstEditText.setSelection(pass.length());           
    } else {
        String pass = firstEditText.getText().toString();
        firstEditText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
        firstEditText.setInputType(InputType.TYPE_CLASS_TEXT);
        firstEditText.setText(pass);
        firstEditText.setSelection(pass.length());
    }
    isPasswordVisible= !isPasswordVisible;
}




passwords