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条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境