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条评论来说两句吧...


微信收款码
支付宝收款码