У меня есть поле пароля, и я хотел реализовать функцию скрытия / отображения пароля.Поэтому я использовал TextInputLayout.Но если я использую EditText внутри TextInputLayout, он оставляет пустое место в верхней части макета.И мне нужно, чтобы высота этого поля пароля была меньше.С этим пробелом это невозможно.Я пытался установить высоту в отрицательное значение для EditText, но это не сработало.android: layout_height = "45dp" используется, чтобы уменьшить это поле, но оно не работает вообще.wrap_content делает его еще выше.
<android.support.design.widget.TextInputLayout
android:id="@+id/textInputLayout"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginEnd="45dp"
android:layout_marginStart="42dp"
app:passwordToggleDrawable="@drawable/login_password_eye"
app:passwordToggleEnabled="true">
<EditText
android:id="@+id/passwordTextField"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:backgroundTint="@color/colorDivider"
android:imeOptions="actionDone"
android:inputType="textPassword"
android:singleLine="true"
android:textColor="@color/colorItemMajor"
android:textSize="16sp" />
</android.support.design.widget.TextInputLayout>
Изображение:
![enter image description here](https://i.stack.imgur.com/eoRes.jpg)
Код XML - полный (мне пришлось удалить цвета и изображения+ верхняя панель инструментов, но логика та же)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/mainLoginLayout"
android:orientation="vertical"
android:clickable="true"
android:focusableInTouchMode="true"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/loginLayout"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/imageLogin"
android:layout_width="210dp"
android:layout_height="210dp"
android:layout_gravity="center"
android:scaleType="fitCenter"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/emailLabel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="E-mail"
android:textColor="@color/colorBlack"
android:textSize="16sp"
android:layout_marginStart="45dp"
android:layout_marginEnd="45dp"
/>
<EditText
android:id="@+id/emailTextField"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="45dp"
android:layout_marginStart="45dp"
android:backgroundTint="@color/colorBlack"
android:inputType="textEmailAddress"
android:textColor="@color/colorBlack"
android:textSize="16sp" />
<TextView
android:id="@+id/passwordLabel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Password"
android:textColor="@color/colorBlack"
android:textSize="16sp"
android:layout_marginStart="45dp"
android:layout_marginEnd="45dp"
/>
<android.support.design.widget.TextInputLayout
android:id="@+id/textInputLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/login_password_padding"
android:layout_marginStart="@dimen/login_password_field_padding"
app:passwordToggleDrawable="@drawable/login_password_eye"
app:passwordToggleEnabled="true"
app:passwordToggleTint="@android:color/black">
<android.support.design.widget.TextInputEditText
android:id="@+id/passwordTextField"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="0dp"
android:backgroundTint="@color/colorDivider"
android:imeOptions="actionDone"
android:inputType="textPassword"
android:singleLine="true"
android:textColor="@color/colorItemMajor"
android:textSize="@dimen/login_password_label_textsize" />
</android.support.design.widget.TextInputLayout>
<LinearLayout
android:id="@+id/default_login_button"
android:layout_width="match_parent"
android:orientation="horizontal"
android:gravity="center"
android:clickable="true"
android:focusable="true"
android:layout_height="55dp"
android:layout_marginStart="45dp"
android:layout_marginEnd="45dp"
android:layout_marginTop="45dp"
android:background="@color/colorBlack">
<ImageView
android:id="@+id/loginButtonIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|center_horizontal"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/LoginButtonLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|center_horizontal"
android:text="Login"
android:textAppearance="@style/FilledLoginButtonTextAppearance" />
</LinearLayout>
</LinearLayout>
</LinearLayout>