android程序代码实现改变字体颜色和输入密码的显示隐藏

     这篇文章记录一下开发时遇到的两个小问题   

     1、很多时候都需要用在java代码中去更改字体的颜色,密码的显示方式,以及使用java代码创建一个控件、一个布局,这次遇到的问题就是使用java代码更改字体的颜色,第一次使用的是

//	tvAbcAccount.setTextColor(color.PressAccountTextColor);
//	tvVBcdAccount.setTextColor(color.AccountTextColor);

PressAccountTextColor和AccountTextColor是在colorlist.xml中定义的两种颜色值

	<color name="AccountTextColor">#b5b5b5</color>
	<color name="PressAccountTextColor">#e7e7e7</color>

       目的是当有按键被按下的时候就对字体颜色进行相应的改变,但是上述代码不能达到想要的结果,后来查找了一下资料,改为
	tvAbcAccount.setTextColor(getResources().getColor(R.color.PressAccountTextColor));
	tvBcdAccount.setTextColor(getResources().getColor(R.color.AccountTextColor));

这种方式达到了想要的结果。

2一个密码框,通过一个按钮来控制密码是明文还是暗文显示的。可是发现使用et_pwd.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);不能将密码暗文显示,我的代码如下:

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

 达不到想要的显示隐藏密码的效果

       在网上找了一下,最后发现输入类型的设置需要改一下 ,实现代码如下

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



发布了32 篇原创文章 · 获赞 3 · 访问量 55万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章