6
votes

Comment désactiver flottant en affichant une erreur dans TextInpuTlayout

private boolean validateFields() {
        if (mCategory.getText().toString().isEmpty())
            mCategoryLayout.setError("Please select a category");
        else if (mProducts.getText().toString().isEmpty())
            mProductsLayout.setError("Please select a product");
        else if (mSerialNumber.getText().toString().isEmpty())
            mSerialNumberLayout.setError("Please enter the serial number");
        else
            return true;
        return false;
    }

9 commentaires

Que voulez-vous dire avec flottant?


L'animation de l'étiquette - AndroidHive.info/2015 / 09 / ...


Depuis les documents, je suppose que vous devez utiliser votre TextInputLayout la méthode SéthintimationEnabled (FALSE); Programmatiquement ou Android.Support.design:hinTanimationEnabled="false "en XML ....


Animation partit mais l'étiquette est toujours flottante au sommet


Sur quelle API vous construisez votre application? C'était un problème sur l'API <23 et est fixé depuis l'API 23 ....


BuildToolVersion "23.0.2"


Et Compilez-vous à Gradle contre la même version comme ceci: Compiler 'com.android.support:design:23.0'?


Compiler 'com.android.support:design:23.1.1'


Donc, il doit y avoir autre chose ... Veuillez mettre à jour votre code, montrer comment vous l'avez désactivé. Je pense que si vous utilisez une version de construction MINSDK <23m, cela ne fonctionne pas ...... je suppose ...


4 Réponses :


-1
votes
  private boolean validateFields() {
    if (mCategory.getText().toString().isEmpty())
        mCategoryLayout.setError("Please select a category");
    else if (mProducts.getText().toString().isEmpty())
        mProductsLayout.setError("Please select a product");
    else if (mSerialNumber.getText().toString().isEmpty())
        mSerialNumberLayout.setError("Please enter the serial number");
    else
        return true;
    return false;
}

0 commentaires

0
votes

Essayez ceci: xxx

Plus tard (comme en cliquant sur Edittext) xxx


0 commentaires

4
votes

Démarrage de la version 23.2.0 de la bibliothèque de support Vous pouvez appeler xxx

ou le mettre dans votre texte xml comme tel: xxx

Bien que le nom puisse vous faire penser que cela supprime toutes les indications, il suffit de retirer le flottant.

Documents associés et problème: http://developer.android.com/reference/andrroid/support/design/widget/textinPuLayout.html#Sethinten

https: // code. google.com/p/andrroid/issues/detail?id=181590


1 commentaires

Cela supprimera la vue sur l'indice, de sorte que la mise en page se déplace.



3
votes

Si quelqu'un veut préserver l'étiquette flottante mais ne les effondrez pas lorsque nous utilisons setError () code> sur TextInputLayout code> J'ai trouvé une solution hacky qui fonctionne avec support 25.4 .0 code>. Malheureusement, il peut être corrompu dans les versions plus récentes.

if (hasText || this.isEnabled() && (isFocused || isErrorShowing)) {
    if (force || this.mHintExpanded) {
        this.collapseHint(animate);
    }
} ...


0 commentaires