Android:TextInputLayout不同inputTypes的不同间距
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android:TextInputLayout不同inputTypes的不同间距相关的知识,希望对你有一定的参考价值。
我的问题是,我希望TextInputLayout
s的间距完全相同,无论inputType
。
马上:
- 文本和线之间的
android:inputType="textPassword"
空间大于android:inputType="textNoSuggestions"
中这两者之间的间距 - 文本和标签之间的间距也是如此。
如何使两个间距相等?
我的两个字段的XML:
<android.support.design.widget.TextInputLayout
android:id="@+id/layout_login"
style="@style/text_input_layout"
android:layout_below="@+id/image_app_logo"
android:layout_marginTop="30dp"
app:errorEnabled="true">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/edit_text_login"
style="@style/app_edit_text"
android:hint="@string/email"
android:inputType="textNoSuggestions"
android:maxLength="@integer/max_characters_in_edit_text"
android:privateImeOptions="nm"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/layout_login_password"
style="@style/text_input_layout"
android:layout_below="@+id/layout_login"
app:errorEnabled="true"
app:passwordToggleEnabled="true"
app:passwordToggleTint="@color/colorTextTiny">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/edit_text_password"
style="@style/app_edit_text"
android:layout_height="wrap_content"
android:hint="@string/password"
android:imeOptions="actionDone"
android:inputType="textPassword"
android:maxLength="@integer/max_characters_in_edit_text" />
</android.support.design.widget.TextInputLayout>
答案
试试这种方式
<android.support.design.widget.TextInputLayout
android:id="@+id/login_input_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size15"
android:hint="@string/password"
android:textColorHint="@color/colorblueLight
app:passwordToggleEnabled="true">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:longClickable="false"
android:maxLines="1"
android:textColor="@color/colorWhite" />
</android.support.design.widget.TextInputLayout>
如果你想改变passwordToggle
的颜色
private TextInputLayout inputPassword;
inputPassword = (TextInputLayout) findViewById(R.id.login_input_password);
inputPassword.setPasswordVisibilityToggleEnabled(true);
inputPassword.setPasswordVisibilityToggleTintList(ColorStateList.valueOf(ContextCompat.getColor(this, R.color.colorWhite)));
另一答案
我设法通过设置上部android:paddingBottom="10dp"
的android:paddingTop="10dp"
和EditText
来解决这个问题。虽然我想指出这个解决方案显然是一个丑陋的解决方案 - 我仍然会欣赏更好的方法。
以上是关于Android:TextInputLayout不同inputTypes的不同间距的主要内容,如果未能解决你的问题,请参考以下文章
进阶篇Android学习笔记——TextInputLayout
如何在新的 android 设计库中使用 TextInputLayout
Android:TextInputLayout - 自定义提示、底线和错误消息的颜色
如何在android中动态设置样式为TextInputLayout?