我正在使用TextInputLayout来显示EditText的错误。一切都很好。我必须从TextInputLayout的错误文本中删除多余的空格。
到目前为止我做过这个,
<android.support.design.widget.TextInputLayout
android:id="@+id/txt_error_passowrd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
app:errorEnabled="true"
app:passwordToggleEnabled="true"
app:passwordToggleTint="@color/colorAccent"
app:errorTextAppearance="@style/error_appearance"
app:hintTextAppearance="@style/EditHintText">
<android.support.design.widget.TextInputEditText
android:id="@+id/edit_password"
android:layout_width="match_parent"
android:layout_height="@dimen/views_height"
android:fontFamily="@font/roboto_light"
android:hint="@string/password"
android:inputType="textPassword"
android:paddingLeft="10dp"
android:textColorHint="@color/light_text_color"
android:textSize="@dimen/font_14sp" />
</android.support.design.widget.TextInputLayout>
在style.xml里面我用过这个
<style name="EditHintText" parent="TextAppearance.Design.Hint">
<item name="android:textSize">@dimen/font_10sp</item>
<item name="android:textColor">@color/dark_text_color</item>
</style>
<style name="error_appearance" parent="@android:style/TextAppearance">
<item name="android:textColor">@color/red</item>
<item name="android:textSize">@dimen/font_10sp</item>
</style>
尝试从TextInputEditText中删除此行android:paddingLeft = 10dp,因为TextInputLayout中没有填充,这个EditText填充可能导致问题,为什么你使用android:layout_weight = 1 for TextInputLayout,当它的高度或宽度都没有设置为0dp时。
您可以在TextInputLayout中使用app:hintEnabled="false"
删除额外的填充。但是使用它会阻止提示进入上面,因为当它超出时,额外的空间用于提示文本。
仅删除此行并像charmandroid:paddingLeft=10dp
一样工作