Android设置密码的明文和密文显示例子

我们经常会在一些软件上发现在密码输入框的后面有一个按钮可以使我们输入的密码显示为密文(●●●●●或者*****),也可以显示为正常的可见状态,效果如图。

具体实现如下:

布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="15dp"
    android:orientation="horizontal">

    <EditText
        android:id="@+id/et_password"
        android:layout_width="0dp"
        android:layout_height="50dp"
        android:layout_weight="5"
        android:paddingLeft="10dp"
        android:digits="0123456789abcdefghigklmnopqrstuvwxyzQWERTYUIOPASDFGHJKLZXCVBNM"
        android:gravity="center_vertical"
        android:hint="6-16位,数字和密码组合"
        android:inputType="textPassword"
        android:textColorHint="#999999"
        android:textSize="16sp" />

    <Button
        android:id="@+id/btn_pwd"
        android:layout_width="0dp"
        android:layout_height="50dp"
        android:layout_weight="1"
        android:gravity="center"
        android:text="明文" />

</LinearLayout>

MainActivity:

package zmit.cn.edittext;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {
    private static final int PASSWORD_MINGWEN = 0x90;
    private static final int PASSWORD_MIWEN = 0x81;
    private EditText editText;
    private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editText = (EditText) findViewById(R.id.et_password);
        button = (Button) findViewById(R.id.btn_pwd);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String str = button.getText().toString().trim();
                if (str.equals("明文")) {
                    button.setText("密文");
                    editText.setInputType(PASSWORD_MINGWEN);//设置显示为明文
                    editText.setSelection(editText.length());//设置光标显示
                } else if (str.equals("密文")) {
                    button.setText("明文");
                    editText.setInputType(PASSWORD_MIWEN);//设置显示为密文
                    editText.setSelection(editText.length());//设置光标显示
                }
            }
        });
    }
}

时间: 2024-07-29 12:46:47

Android设置密码的明文和密文显示例子的相关文章

图片-android 4.0中 WebP不显示问题(不考虑4.0以下系统)

问题描述 android 4.0中 WebP不显示问题(不考虑4.0以下系统) 由于图片太大,我们项目中使用了webp格式的图片,在适配三星s2,4.0系统的时候出现了这种问题,部分webp图片可以显示,一部分webp图片不显示,但是在4.3以上的手机测试时都没有问题,不知道怎么回事,有没有大神帮解答下!谢谢! 解决方案 Android4.0 Toast显示问题Android 4.0 系统语言预设问题android 4.0 显示系统

Android ListView滑动过程中图片显示重复错乱闪烁的原因及解决方法

主要分析Android ListView滚动过程中图片显示重复.错乱.闪烁的原因及解决方法,顺带提及ListView的缓存机制. 1.原因分析 ListView item缓存机制:为了使得性能更优,ListView会缓存行item(某行对应的View).ListView通过adapter的getView函数获得每行的item.滑动过程中, a. 如果某行item已经滑出屏幕,若该item不在缓存内,则put进缓存,否则更新缓存: b. 获取滑入屏幕的行item之前会先判断缓存中是否有可用的ite

Android RoboGuice2使用指南(2) 第一个例子Hello World

本例实现的功能和例子Android RoboGuice 使用指南(2):第一个例子Hello World一样,所不同的是本例使用RoboGuice2.0 来实现. 下载新的RoboGuice库,Roboguice2.0 库有四个库组成,如下图所示: 库可以从 http://code.google.com/p/roboguice/下载. 2. 创建一个新Android项目,比如GuiceDemo,目标平台Android1.5以上. 3. 一般可以在该项目下添加一个libs目录,将两个jar文件拷到

android真机调试时无法显示logcat信息的解决方法介绍

以下是对android真机调试时无法显示logcat信息的解决方法进行了详细的分析介绍,需要的朋友可以过来参考下   android真机调试时无法显示logcat信息的解决方法介绍: window-->show view-->android->devices, 打开devices,点击右边的截屏图片的按钮.等到出现截图的时候,logcat就出来信息了!

局域网在线设备-android局域网内在线设备如何显示

问题描述 android局域网内在线设备如何显示 大家好,第一次提问,请大家帮忙一下.最近想用android实现一个功能,显示通过wifi连接到同一台路由器的所有在线设备人数和设备名称,我想通过ping子网的方式,填充arp表,然后通过读取arp表获取在线设备数目,但不知道具体如何去实现,该不会要开256个线程吧?请大神指点一下,有大神有demo吗,给小弟参考一下. 解决方案 "我想通过ping子网的方式,填充arp表,然后通过读取arp表获取在线设备数目",我没做过,不过我的思路是这

Android ListView滑动过程中图片显示重复错位闪烁问题解决

主要分析Android ListView滚动过程中图片显示重复.错乱.闪烁的原因及解决方法,顺带提及ListView的缓存机制.1.原因分析ListView item缓存机制:为了使得性能更优,ListView会缓存行item(某行对应的View).ListView通过adapter的getView函数获得每行的item.滑动过程中, a. 如果某行item已经滑出屏幕,若该item不在缓存内,则put进缓存,否则更新缓存: b. 获取滑入屏幕的行item之前会先判断缓存中是否有可用的item,

数据库-Android开发把知道的坐标显示到百度地图上

问题描述 Android开发把知道的坐标显示到百度地图上 如题所述,我从数据库中取出来上一次的坐标,怎么让它显示到百度地图上呀 解决方案 http://www.2cto.com/kf/201406/305878.html

android checkbox复选框不显示

问题描述 android checkbox复选框不显示 做了一个显示文件列表的app 列表每一项右边的checkbox复选框在安卓5.0系统中显示出来了 把app装到4.0+的系统中就不显示了 一直都找不到原因 麻烦各位大神解救 在4.0+的系统中右边的复选框不显示 但点击了代码提示还是又选中了 它还是在那个位置 但就是显示不出来 解决方案 Android中CheckBox复选框操作android 中 CheckBox 复选框操作Android复选框(CheckBox)的现实

Android图形显示系统——一张图片的显示流程

Android设备上一张图片的显示过程 应用示例 假如我们现在有一张这样的风景照 想在Android设备(比如一个小米pad)上显示出来.首先想到的是写一个应用,用一个ImageView,把这张照片附到ImageView上显示,如下面的demo. MainActivity.java package com.example.pictureshow; import android.app.Activity; import android.os.Bundle; import android.view.