Setting error state in EditText through styles
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?
add a comment |
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?
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
add a comment |
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?
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?
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
add a comment |
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
add a comment |
1 Answer
1
active
oldest
votes
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.
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
add a comment |
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.
add a comment |
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.
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.
answered Jan 1 at 11:18
milad salimimilad salimi
1407
1407
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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