我有9个带有边框的squaretext编辑文本我希望当你在9 edittext中点击一个edittext时,这个edittext的边框颜色会改变.... 我需要你支持我的朋友 我试过这个代码,但它没有执行 ****第一个边界码border1
****第2个边界代码" border2"
java代码
et1.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View arg0, MotionEvent arg1) {
et1.setBackgroundResource(R.drawable.border2);
et2.setBackgroundResource(R.drawable.border1);
et3.setBackgroundResource(R.drawable.border1);
et4.setBackgroundResource(R.drawable.border1);
et5.setBackgroundResource(R.drawable.border1);
et6.setBackgroundResource(R.drawable.border1);
et7.setBackgroundResource(R.drawable.border1);
et8.setBackgroundResource(R.drawable.border1);
et9.setBackgroundResource(R.drawable.border1);
valeur = "1";
return true;
}
});
答案 0 :(得分:0)
你可以使用onClickListener(),因为你想在每次点击时改变,你可以这样做:
etEmailAdress.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (res == R.drawable.black) {
res = R.drawable.btn_green;
} else {
res = R.drawable.black;
}
etEmailAdress.setBackgroundResource(res);
}
});
答案 1 :(得分:0)
执行此操作的最佳方法是使用选择器并定义状态。您应该做的是在drawable
文件夹中创建一个名为edit_text_background.xml
的布局,并添加此代码
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/border2" android:state_focused="true" android:state_window_focused="true"/>
<item android:drawable="@drawable/border1" android:state_focused="false" android:state_window_focused="false"/>
</selector>
然后只需将此新drawable设置为每个EditText
的背景。当它被聚焦(点击)时,它将显示R.id.border2
,当它没有聚焦时,它将显示R.id.border1