在单击中更改edittext的边框

时间:2018-02-07 17:40:47

标签: android

我有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;

        }

    });

2 个答案:

答案 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