這篇文章記錄一下開發時遇到的兩個小問題
1、很多時候都需要用在java代碼中去更改字體的顏色,密碼的顯示方式,以及使用java代碼創建一個控件、一個佈局,這次遇到的問題就是使用java代碼更改字體的顏色,第一次使用的是
[java]
// tvAbcAccount.setTextColor(color.PressAccountTextColor);
// tvVBcdAccount.setTextColor(color.AccountTextColor);
PressAccountTextColor和AccountTextColor是在colorlist.xml中定義的兩種顏色值
[java]
<color name="AccountTextColor">#b5b5b5</color>
<color name="PressAccountTextColor">#e7e7e7</color>
目的是當有按鍵被按下的時候就對字體顏色進行相應的改變,但是上述代碼不能達到想要的結果,後來查找瞭一下資料,改為
[java]
tvAbcAccount.setTextColor(getResources().getColor(R.color.PressAccountTextColor));
tvBcdAccount.setTextColor(getResources().getColor(R.color.AccountTextColor));
這種方式達到瞭想要的結果。
2、一個密碼框,通過一個按鈕來控制密碼是明文還是暗文顯示的。可是發現使用et_pwd.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);不能將密碼暗文顯示,我的代碼如下:
[java]
showPassWordLayout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(CHECKED){
CHECKED =false;
et_pwd.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);//不暗文顯示
}else{
CHECKED =true;
et_pwd.setInputType(InputType.TYPE_CLASS_TEXT);
}
}
});
達不到想要的顯示隱藏密碼的效果 www.aiwalls.com
在網上找瞭一下,最後發現輸入類型的設置需要改一下 ,實現代碼如下
[java]
showPassWordLayout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(CHECKED){
CHECKED =false;
et_pwd.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_VARIATION_PASSWORD);
}else{
CHECKED =true;
et_pwd.setInputType(InputType.TYPE_CLASS_TEXT);
}
}
});
摘自 walker的專欄