EditText 显示明文和密码

来源:互联网 发布:软件测试职业规划 编辑:程序博客网 时间:2024/05/20 02:50

EditText 显示明文和密码

1、效果图

 

2、布局文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?xml version="1.0"encoding="utf-8"?>
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="wifi.app.wei.com.myapplication.MainActivity">
 
 
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="10dp"
        >
 
        <ImageView
            android:id="@+id/image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@mipmap/eye_close"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            />
 
        <EditText
            android:id="@+id/pass_et"
            android:layout_toLeftOf="@id/image"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textPassword"
            />
 
    </RelativeLayout>
 
 
</RelativeLayout>

  

3、代码实现(方式一)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package wifi.app.wei.com.myapplication;
 
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.InputType;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
 
publicclass MainActivity extends AppCompatActivity {
 
    privateImageView imageView ;
    privateEditText editText ;
    boolean eyeOpen =false ;
 
    @Override
    protectedvoid onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main );
        imageView = (ImageView) findViewById( R.id.image) ;
        editText = (EditText) findViewById( R.id.pass_et);
 
        imageView.setOnClickListener(newView.OnClickListener() {
            @Override
            publicvoid onClick(View view) {
                if( eyeOpen ){
                    //密码 TYPE_CLASS_TEXT 和 TYPE_TEXT_VARIATION_PASSWORD 必须一起使用
                    editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
                    imageView.setImageResource( R.mipmap.eye_close );
                    eyeOpen =false ;
                }else{
                    //明文
                    editText.setInputType( InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD );
                    imageView.setImageResource( R.mipmap.eye_open );
                    eyeOpen =true ;
                }
            }
        });
    }
}

  

 4、代码实现(方式二)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package wifi.app.wei.com.myapplication;
 
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
 
publicclass MainActivity extends AppCompatActivity {
 
    privateImageView imageView ;
    privateEditText editText ;
    boolean eyeOpen =false ;
 
    @Override
    protectedvoid onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main );
        imageView = (ImageView) findViewById( R.id.image) ;
        editText = (EditText) findViewById( R.id.pass_et);
 
        imageView.setOnClickListener(newView.OnClickListener() {
            @Override
            publicvoid onClick(View view) {
                if( eyeOpen ){
                    //密码
                    editText.setTransformationMethod(PasswordTransformationMethod.getInstance());
                    imageView.setImageResource( R.mipmap.eye_close );
                    eyeOpen =false ;
                }else{
                    //明文
                    editText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
                    imageView.setImageResource( R.mipmap.eye_open );
                    eyeOpen =true ;
                }
            }
        });
    }
}

  

 

分类: Android,Android Studio
标签: Android EditText 密码和明文切换, EditText
好文要顶关注我 收藏该文
赵彦军
关注 - 10
粉丝 - 90
+加关注
1
0
«上一篇:Android log 管理工具
»下一篇:Android AsyncTask 深度理解、简单封装、任务队列分析、自定义线程池
posted @ 2016-08-08 10:41 赵彦军 阅读(1192) 评论(0)编辑 收藏
0 0
原创粉丝点击