EditText 显示明文和密码
2、布局文件
<?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、代码实现(方式一)
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;
public class MainActivity extends AppCompatActivity {
    private ImageView imageView ;
    private EditText editText ;
    boolean eyeOpen = false ;
    @Override
    protected void 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(new View.OnClickListener() {
            @Override
            public void 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、代码实现(方式二)
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;
public class MainActivity extends AppCompatActivity {
    private ImageView imageView ;
    private EditText editText ;
    boolean eyeOpen = false ;
    @Override
    protected void 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(new View.OnClickListener() {
            @Override
            public void 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 ;
                }
            }
        });
    }
}
 
 关注公众号
关注公众号
					低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 
							
								
								    上一篇
								      Android github 快速实现多人协作前言:最近要做github多人协作,也就是多人开发。搜索了一些资料,千篇一律,而且操作麻烦。今天就整理一下,github多人协作的简单实现方法。 下面的教程不会出现:公钥、组织、team、pull request 1、首先小张在github上创建一个仓库,比如叫做:GlideDemo 2、 小张开始邀请小王 创建仓库后,然后开始添加 小王了。 注意在第三步的时候,要输入小王的github用户名。 3、小王接收小张的邀请 小王在github登录自己的账户,登录完成后,将在屏幕的右上角看到一个铃铛,双击铃铛。 小王在完成接受邀请后,就可以看到小张的项目仓库了。并且可以push代码到仓库。 4、小张查看所有的协作伙伴。 
- 
							
								
								    下一篇
								      Android AsyncTask 深度理解、简单封装、任务队列分析、自定义线程池前言:由于最近在做SDK的功能,需要设计线程池。看了很多资料不知道从何开始着手,突然发现了AsyncTask有对线程池的封装,so,就拿它开刀,本文将从AsyncTask的基本用法,到简单的封装,再到任务队列分析,最后自定义线程池。 1、概念 Android 中的异步任务常用的一种方式是:Handler + Thread 组合来实现的。Thread 负责子线程的耗时操作,Handler 负责线程间的通信,用的最多的当属子线程和主线程通信。 Android 为了简化操作,提供了 AsyncTask 类来实现异步任务,并且轻松实现子线程和主线程间的通信。 2、AsyncTask的简单封装 三个参数代表的含义 Params:第一个参数是启动任务传进来的参数; Progress:第二个参数是用来显示进度条的参数; Result:第三个参数是后台执行后返回的参数的类型。 package com.app; import android.os.AsyncTask; /** * Created by ${zyj} on 2016/8/2. */ public class MyTask&l... 
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 面试大杂烩
- Red5直播服务器,属于Java语言的直播服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- MySQL表碎片整理

 
			
 
				 
				 
				 
				 
				 
				 
				



 微信收款码
微信收款码 支付宝收款码
支付宝收款码