169it科技资讯
169it -->


当前位置:  编程技术>移动开发

Android实现动态显示或隐藏密码输入框的内容

    来源: 互联网  发布时间:2014-10-26

本文实例展示了Android实现动态显示或隐藏密码输入框内容的方法,分享给大家供大家参考之用。具体方法如下:

该功能可通过设置EditText的setTransformationMethod()方法来实现隐藏密码或者显示密码。

示例代码如下:

private Button mBtnPassword;
private EditText mEtPassword;
private boolean mbDisplayFlg = false;
 
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  mEtPassword = (EditText)findViewById(R.id.password);
  mBtnPassword = (Button)findViewById(R.id.btnPassword);
  mBtnPassword.setOnClickListener(new OnClickListener() {

 @Override
 public void onClick(View v) {
 // TODO Auto-generated method stub
 Log.d("AndroidTest", "mbDisplayFlg = " + mbDisplayFlg);
 if (!mbDisplayFlg) {
  // display password text, for example "123456"
  mEtPassword.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
 } else {
  // hide password, display "."
  mEtPassword.setTransformationMethod(PasswordTransformationMethod.getInstance());
 }
 mbDisplayFlg = !mbDisplayFlg;
 mEtPassword.postInvalidate();
 }
  });
}

main.xml文件如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical" android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 <Button android:id="@+id/btnPassword"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="密码" />
 <EditText android:id="@+id/password"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:password="true"
 android:textSize="18sp"
 android:text="123456">
 </EditText>
</LinearLayout>

希望本文所述对大家的Android程序设计有所帮助。


    
相关技术文章:
    ▪根据USER-AGENT判断手机类型并跳转到相应的app下载页面

     实现的原理,是检测浏览器的 USER-AGENT 这个header,然后根据正则表达式来确定客户端类型。 如果都不匹配,Fallback回退策略是显示对应的页面,让用户自己选择。 适合采用二维码扫描方式下载APP: JSP版本的代码如下所示:其他服务端版本请百度搜索。 <%@page import="java.util.regex.Matcher"%> <%@page import="java.util.regex.Pattern"%> <%@ page language="java" pageEncoding="UTF-8"%> <%! // \b 是单词边界(连着的两个(字母字符 与 非字母字符) 之间的逻辑上的间隔),字符串在编译时会被转码一次,所以是 "\\b" // \B 是单词内部......


    ▪Android Touch事件分发过程详解

     本文以实例形式讲述了Android Touch事件分发过程,对于深入理解与掌握Android程序设计有很大的帮助作用。具体分析如下: 首先,从一个简单示例入手: 先看一个示例如下图所示: 布局文件 : <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" tools:context="com.example.touch_event.MainActivity" tools:ignore="MergeRootFrame" > <Button android:id="@+id/my_bu......


    ▪Android中实现为TextView添加多个可点击的文本

     本文实例展示了Android中实现为TextView添加多个可点击的文本的方法。该功能在Android社交软件的制作中非常具有实用价值。分享给大家供大家参考。具体如下: 很多时候我们在使用社交软件的过程中多多少少会为别人的帖子点赞,如下图所示: 可以看到用户页面显示出来的只是点了赞的用户的名称,点击这些名称可以进入到该用户的主页。下面我们就来实现类似的效果。 具体代码如下: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ......


 
最新技术文章:
    ▪Android开发之登录验证实例教程

     本文所述实例源自一个项目开发中的登录验证功能,具体的要求就是,在Android端输入用户名和密码,在服务器端验证MySQL数据库中是否有此用户,实现之前当然首要的是,如何使Android端的数据发送到服务器端,具体的实现方法如下: 服务器端:ManageServlet.java代码如下: public class ManageServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); String name = request.getParameter("name"); String password......


    ▪Android开发之注册登录方法示例

     本文所述,继续上一篇关于Android端向服务器端发送数据的方法进一步完善注册登录的方法,由于版本问题出现一点瑕疵,今天经过调试已经解决,在这里给大家介绍一下。 在Android4.0以后版本的对于网络权限要求变得严格,致使上一篇所述的案例无法将数据发送到服务器端,当你一点击发送数据,Android控制台就会报错,错误当然是很让人头疼,基本上都是关于http的错误,所以可以肯定是Android虚拟机向服务器发送数据时出现了错误,经过一番检查与测试后才知道,4.0之后的版本,主线程中不允许调用网络,如果你需要的话,应该另起一个线程处理网络连接Th......


    ▪Android获取手机SIM卡运营商信息的方法

     本文实例讲述了Android获取手机SIM卡运营商信息的方法,对于Android程序设计有非常实用的价值。分享给大家供大家参考之用。具体方法如下: 主要功能代码如下: /** * 获取SIM卡运营商 * * @param context * @return */ public static String getOperators(Context context) { TelephonyManager tm = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); String operator = null; String IMSI = tm.getSubscriberId(); if (IMSI == null || IMSI.equals("")) { return operator; } if (IMSI.startsWith("46000") || IMSI.startsWith("46002")) { operator = "中国移动"; } else if (IMSI.startsWith("4......


 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

浙ICP备11055608号