Setting error state in EditText through styles












2















I have an Edittext with below style



<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/white" android:state_focused="true" />
<item android:color="@color/yellow" android:state_focused="false" />
<item android:color="@color/white" android:state_active="true" />
</selector>


And in the Edittext style I apply



  `<item name="backgroundTint">@drawable/states_edit_text</item>`   


and it works. This changes the EditTexts bottom line color in states normal and focused . I need to change the tint color to red when its in the error state.



something like <item android:state_error="true" android:color="@color/red"></item>



But there is no state called error, I reffered other answers and they recommend to acheive it through code. is there any way using android styles, I can set the EditText tint to red on error state?










share|improve this question























  • You could make a custom EditText with your own states. Here is an detail example.

    – Dmitro Ivanov
    Jan 1 at 11:12











  • Why don't you use TextInputLayout and EditText which has error state and color itself?

    – Ehsan Mashhadi
    Jan 1 at 11:58











  • @EhsanMashhadi I knew the solution with TextinputLayout, but this was an already existing code where a lot of EditTexts are there in several screens. We need to make this change in every EditText. Since all these EditTexts have the same style, I was trying some solution with the styles only.

    – doe
    Jan 1 at 12:43
















2















I have an Edittext with below style



<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/white" android:state_focused="true" />
<item android:color="@color/yellow" android:state_focused="false" />
<item android:color="@color/white" android:state_active="true" />
</selector>


And in the Edittext style I apply



  `<item name="backgroundTint">@drawable/states_edit_text</item>`   


and it works. This changes the EditTexts bottom line color in states normal and focused . I need to change the tint color to red when its in the error state.



something like <item android:state_error="true" android:color="@color/red"></item>



But there is no state called error, I reffered other answers and they recommend to acheive it through code. is there any way using android styles, I can set the EditText tint to red on error state?










share|improve this question























  • You could make a custom EditText with your own states. Here is an detail example.

    – Dmitro Ivanov
    Jan 1 at 11:12











  • Why don't you use TextInputLayout and EditText which has error state and color itself?

    – Ehsan Mashhadi
    Jan 1 at 11:58











  • @EhsanMashhadi I knew the solution with TextinputLayout, but this was an already existing code where a lot of EditTexts are there in several screens. We need to make this change in every EditText. Since all these EditTexts have the same style, I was trying some solution with the styles only.

    – doe
    Jan 1 at 12:43














2












2








2








I have an Edittext with below style



<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/white" android:state_focused="true" />
<item android:color="@color/yellow" android:state_focused="false" />
<item android:color="@color/white" android:state_active="true" />
</selector>


And in the Edittext style I apply



  `<item name="backgroundTint">@drawable/states_edit_text</item>`   


and it works. This changes the EditTexts bottom line color in states normal and focused . I need to change the tint color to red when its in the error state.



something like <item android:state_error="true" android:color="@color/red"></item>



But there is no state called error, I reffered other answers and they recommend to acheive it through code. is there any way using android styles, I can set the EditText tint to red on error state?










share|improve this question














I have an Edittext with below style



<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/white" android:state_focused="true" />
<item android:color="@color/yellow" android:state_focused="false" />
<item android:color="@color/white" android:state_active="true" />
</selector>


And in the Edittext style I apply



  `<item name="backgroundTint">@drawable/states_edit_text</item>`   


and it works. This changes the EditTexts bottom line color in states normal and focused . I need to change the tint color to red when its in the error state.



something like <item android:state_error="true" android:color="@color/red"></item>



But there is no state called error, I reffered other answers and they recommend to acheive it through code. is there any way using android styles, I can set the EditText tint to red on error state?







android android-edittext






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jan 1 at 10:41









doedoe

7010




7010













  • You could make a custom EditText with your own states. Here is an detail example.

    – Dmitro Ivanov
    Jan 1 at 11:12











  • Why don't you use TextInputLayout and EditText which has error state and color itself?

    – Ehsan Mashhadi
    Jan 1 at 11:58











  • @EhsanMashhadi I knew the solution with TextinputLayout, but this was an already existing code where a lot of EditTexts are there in several screens. We need to make this change in every EditText. Since all these EditTexts have the same style, I was trying some solution with the styles only.

    – doe
    Jan 1 at 12:43



















  • You could make a custom EditText with your own states. Here is an detail example.

    – Dmitro Ivanov
    Jan 1 at 11:12











  • Why don't you use TextInputLayout and EditText which has error state and color itself?

    – Ehsan Mashhadi
    Jan 1 at 11:58











  • @EhsanMashhadi I knew the solution with TextinputLayout, but this was an already existing code where a lot of EditTexts are there in several screens. We need to make this change in every EditText. Since all these EditTexts have the same style, I was trying some solution with the styles only.

    – doe
    Jan 1 at 12:43

















You could make a custom EditText with your own states. Here is an detail example.

– Dmitro Ivanov
Jan 1 at 11:12





You could make a custom EditText with your own states. Here is an detail example.

– Dmitro Ivanov
Jan 1 at 11:12













Why don't you use TextInputLayout and EditText which has error state and color itself?

– Ehsan Mashhadi
Jan 1 at 11:58





Why don't you use TextInputLayout and EditText which has error state and color itself?

– Ehsan Mashhadi
Jan 1 at 11:58













@EhsanMashhadi I knew the solution with TextinputLayout, but this was an already existing code where a lot of EditTexts are there in several screens. We need to make this change in every EditText. Since all these EditTexts have the same style, I was trying some solution with the styles only.

– doe
Jan 1 at 12:43





@EhsanMashhadi I knew the solution with TextinputLayout, but this was an already existing code where a lot of EditTexts are there in several screens. We need to make this change in every EditText. Since all these EditTexts have the same style, I was trying some solution with the styles only.

– doe
Jan 1 at 12:43












1 Answer
1






active

oldest

votes


















0














I think you can change it programmatically :



if (!trueState){

ColorStateList colorStateList = ColorStateList.valueOf(color)
editText.setSupportBackgroundTintList(colorStateList)

}


This will give the EditText the desired underline color.






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53994804%2fsetting-error-state-in-edittext-through-styles%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    I think you can change it programmatically :



    if (!trueState){

    ColorStateList colorStateList = ColorStateList.valueOf(color)
    editText.setSupportBackgroundTintList(colorStateList)

    }


    This will give the EditText the desired underline color.






    share|improve this answer




























      0














      I think you can change it programmatically :



      if (!trueState){

      ColorStateList colorStateList = ColorStateList.valueOf(color)
      editText.setSupportBackgroundTintList(colorStateList)

      }


      This will give the EditText the desired underline color.






      share|improve this answer


























        0












        0








        0







        I think you can change it programmatically :



        if (!trueState){

        ColorStateList colorStateList = ColorStateList.valueOf(color)
        editText.setSupportBackgroundTintList(colorStateList)

        }


        This will give the EditText the desired underline color.






        share|improve this answer













        I think you can change it programmatically :



        if (!trueState){

        ColorStateList colorStateList = ColorStateList.valueOf(color)
        editText.setSupportBackgroundTintList(colorStateList)

        }


        This will give the EditText the desired underline color.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Jan 1 at 11:18









        milad salimimilad salimi

        1407




        1407
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53994804%2fsetting-error-state-in-edittext-through-styles%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Mossoró

            Error while reading .h5 file using the rhdf5 package in R

            Pushsharp Apns notification error: 'InvalidToken'