您的位置:首页 > 移动开发 > Android开发

Android:打勾显示输入的密码

2014-10-29 09:10 302 查看
1.在EditText中输入密码,默认的EditText文字为:请输入密码

需要修改xml文件,在xml文件中添加一个EditText属性android:hint

具体代码比如:

<EditText
android:id="@+id/mPassword"
android:layout_width="fill_parent"
android:layout_height="40px"
android:textSize="18sp"
android:textColor="@drawable/black"
android:inputType="textPassword"

<strong><span style="color:#ff6666;">android:hint="请输入密码"</span></strong>
/>


2.写主程序功能。

EditText的setTransformationMethod()方法是用以设置其显示的字符类型,利用HideReturnsTransformationMethod.getTnstance()来正常显示所输入的字符密码;

利用PasswordTransformationMethod.getInstance()来隐藏输入的字符,恢复为密码输入状态。

另外一般为了程序设计友好性,一般会在程序中添加一个checkbox让用户自己勾选是否显示输入的字符

主程序关键代码如下

</pre>package com.example.passwordhide;<pre name="code" class="java">package com.example.passwordhide;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBarActivity;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
final EditText et;
final CheckBox cb;

super.onCreate(savedInstanceState);

et=(EditText) findViewById(R.id.mPassword);
cb=(CheckBox) findViewById(R.id.mCheck);
/*设置CheckBox的OnCheckedChangeListener*/
cb.setOnCheckedChangeListener
(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton arg0,boolean arg1){
if(cb.isChecked()){
/*设置EditText的内容为可见*/
et.setTransformationMethod(
HideReturnsTransformationMethod.getInstance());
}
else
{
/*设置EditText内容为隐藏*/
et.setTransformationMethod(
PasswordTransformationMethod.getInstance());
}
}
});
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: