Android文本输入框(EditText)切换密码的显示与隐藏

来源:互联网 发布:淘宝虚假交易申诉场景 编辑:程序博客网 时间:2024/05/17 07:44
MainActivity如下:
package cc.c;import android.app.Activity;import android.os.Bundle;import android.text.Selection;import android.text.Spannable;import android.text.method.HideReturnsTransformationMethod;import android.text.method.PasswordTransformationMethod;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;/** * Demo描述: * 文本输入框(EditText)切换密码的显示与隐藏 *  * 参考资料: * 1 http://developer.android.com/reference/android/text/method/HideReturnsTransformationMethod.html * 2 http://developer.android.com/reference/android/text/method/PasswordTransformationMethod.html * 3 http://blog.csdn.net/dawanganban/article/details/23374187 *   Thank you very much */public class MainActivity extends Activity {private Button mSwitchButton;private EditText mPasswordEditText;private boolean isHidden=true;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        init();    }    private void init(){    mSwitchButton=(Button) findViewById(R.id.button);    mPasswordEditText=(EditText) findViewById(R.id.editText);    mSwitchButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {if (isHidden) {//设置EditText文本为可见的mPasswordEditText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());} else {//设置EditText文本为隐藏的mPasswordEditText.setTransformationMethod(PasswordTransformationMethod.getInstance());}isHidden = !isHidden;mPasswordEditText.postInvalidate();//切换后将EditText光标置于末尾CharSequence charSequence = mPasswordEditText.getText();if (charSequence instanceof Spannable) {Spannable spanText = (Spannable) charSequence;Selection.setSelection(spanText, charSequence.length());}}});    }    }

main.xml如下:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <EditText        android:id="@+id/editText"        android:layout_width="160dip"        android:layout_height="40dip"        android:hint="请输入密码"        android:inputType="textPassword"    />        <Button        android:id="@+id/button"        android:layout_width="160dip"        android:layout_height="40dip"        android:text="切换显示方式"    /></LinearLayout>


0 0
原创粉丝点击