Как мне установить passwordToggleDrawable в Android? - PullRequest
0 голосов
/ 05 марта 2019

Следующая ссылка показывает основную проблему ( Ссылка ). Как видите, между значком видимости пароля и значком проверки есть совпадение (когда оно появляется динамически).Я хочу знать простой способ расположить значки так, чтобы они работали вместе, это возможно?

Переключение пароля

    <com.google.android.material.textfield.TextInputLayout
        android:id="@+id/textInputLayoutWifiPW"
        android:layout_width="600dp"
        android:layout_height="wrap_content"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textInputLayoutWifiSSID"
        app:passwordToggleDrawable="@drawable/passwordtoggle"
        app:passwordToggleEnabled="true"
        app:passwordToggleTint="@color/md_blue_500">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/password"
            android:layout_width="568dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="16dp"
            android:layout_marginLeft="16dp"
            android:layout_marginTop="16dp"
            android:layout_marginEnd="8dp"
            android:layout_marginRight="8dp"
            android:layout_marginBottom="16dp"

            android:fontFamily="sans-serif"
            android:hint="@string/password"
            android:inputType="textPassword"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/SSID" />

Проверкаметоды

private void validateWIFI(final Context context) {
        if (SSID.length() == 0 ) {
            dialogButtonTrueOrFalse(mDialog, false);
            SSID.setError(context.getString(R.string.error_ssid_empty));
        }else if (PWD.length() > 0 && PWD.length() < 8) {
            dialogButtonTrueOrFalse(mDialog, false);
            PWD.setError(context.getString(R.string.error_pwd_length));
        }else {
            dialogButtonTrueOrFalse(mDialog,true);
        }
    }
    public void dialogButtonTrueOrFalse(AlertDialog mDialog, Boolean button){
        if (button){
            mDialog.getButton(AlertDialog.BUTTON_POSITIVE).setClickable(true);
            mDialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(true);
        }else if (!button){
            mDialog.getButton(AlertDialog.BUTTON_POSITIVE).setClickable(false);
            mDialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
        }
    }
...