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());
}
}
});
}