-5

我有两个编辑文本。第一个是电子邮件,第二个是密码字段。
当我单击登录按钮而不填充两个字段时,两个字段中的提示颜色和下划线变为红色是未聚焦状态。
登陆页面处于未聚焦状态,颜色应为蓝色在此处输入图像描述 点击登录 未填写字段 在此处输入图像描述

这是我的要求。
我已经尝试了所有可能的方法来实现这种情况。
但我无法控制专注和不专注的状态。
请指导我解决这个问题。

<style name="MyMaterialTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="windowNoTitle">true</item> <item name="windowActionBar">false</item> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> <item name="colorControlActivated">@color/primary</item> <item name="colorControlHighlight">@color/colorPrimary</item> </style>

我想以编程方式更改提示颜色,未聚焦状态下的下划线颜色。

颜色.xml

<resources> <color name="primary">#1976d2</color> <color name="primary_dark">#E12929</color> <color name="primary_darker">#CC1D1D</color> <color name="accent">#000000</color> <color name="blue">#1976d2</color> <color name="black">#000000</color> <color name="lightblue">#1976d2</color> <color name="lightgray">#666666</color> </resources>
4

4 回答 4

0

尝试以下类似的操作,为了在验证您的条件后使编辑文本使用出错,inputLayout.setError("Enther somehting");您必须使用删除setErrorEnabled(false)

  inputLayout_et = (TextInputLayout) findViewById(R.id.input_layout_newpassword);

  inputLayout_et.setErrorEnabled(false);
于 2017-07-26T05:54:52.790 回答
0

提示色

android:textColorHint="@color/red"
于 2017-07-26T06:18:04.523 回答
0

像你应该尝试的东西

<android.support.design.widget.TextInputLayout
android:id="@+id/usernameWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<EditText
    android:id="@+id/username"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textEmailAddress"
    android:hint="Username"/>

</android.support.design.widget.TextInputLayout>
于 2017-07-26T05:30:15.917 回答
0

尝试这个

TextInputLayout emailInput, passInput;
EditText edtEmail, edtPass;
Button btnLogin;
String hintEmail = "",hintPass="";


emailInput = (TextInputLayout) findViewById(R.id.emailInput);
passInput = (TextInputLayout) findViewById(R.id.passInput);

edtEmail = (EditText) findViewById(R.id.edtEmail);
edtPass = (EditText) findViewById(R.id.edtPass);

btnLogin = (Button) findViewById(R.id.btnLogin);
btnLogin.setOnClickListener(this);


    btnLogin.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (edtEmail.getText().toString().trim().isEmpty()) {
                edtEmail.setHint("please enter Email Address ");
                hintEmail = "please enter Email Address ";
                edtEmail.setHintTextColor(ContextCompat.getColor(this,R.color.colorRed));
                emailInput.setHint("");

            }

            if (edtPass.getText().toString().trim().isEmpty()) {
                edtPass.setHint("please enter Password ");
                hintPass = "please enter Password  ";
                edtPass.setHintTextColor(getResources().getColor(R.color.colorRed));
                passInput.setHint("");

            }

        }
    });
    edtEmail.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {
            emailInput.setHint(hintEmail);
            edtEmail.setHint("");
            return false;
        }
    });
    edtPass.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {
            passInput.setHint(hintPass);
            edtPass.setHint("");
            return false;
        }
    });
于 2017-07-26T05:33:17.257 回答