比較簡單,廢話不多說媒吗,直接上代碼
github地址
很多場景都有會用到EditText,用來接收用戶輸入的一些信息,當(dāng)EditText是密碼輸入類型的時候倒慧,用戶輸入的信息都會被系統(tǒng)用原點給代替,保證其他人無法看見輸入信息包券,但是有些時候我們自己也想看看自己輸入的內(nèi)容是否正確纫谅,那應(yīng)該怎么樣呢?EditText可以通過
setTransformationMethod設(shè)置不同的值可以顯示和隱藏文本內(nèi)容溅固。顯示為明文
setTransformationMethod(HideReturnsTransformationMethod.getInstance());
顯示為密文
setTransformationMethod(PasswordTransformationMethod.getInstance());
布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp">
<EditText
android:id="@+id/psd_edt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="請輸入密碼"
android:inputType="textPassword"
android:padding="10dp" />
<ImageView
android:id="@+id/psd_toggle_iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:contentDescription="@null"
android:scaleType="center"
android:src="@drawable/eye_psd"
android:paddingRight="8dp"/>
</RelativeLayout>
</LinearLayout>
Activity
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private EditText psdEdt;
private ImageView psdToggleIv;
private boolean isPsdVisible; //密碼是否可見
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
psdEdt = (EditText) findViewById(R.id.psd_edt);
psdToggleIv = (ImageView) findViewById(R.id.psd_toggle_iv);
psdToggleIv.setOnClickListener(this);
}
//密碼是否可見的"按鈕"的點擊事件
@Override
public void onClick(View v) {
if(!isPsdVisible){
//明文,設(shè)置密碼可見
psdEdt.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
isPsdVisible = true;
}else {
//密碼系宜,設(shè)置密碼不可見
psdEdt.setTransformationMethod(PasswordTransformationMethod.getInstance());
isPsdVisible = false;
}
}
}
圖片素材
eye_psd.png