我在 TextInputLayout
中有一个 EditText
,+91
TextView
前缀为 EditText
.
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/activity_vertical_margin">
<android.support.design.widget.TextInputLayout
android:id="@+id/layoutMobile"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/etPhoneNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/txt_hint_phone"
android:imeOptions="actionDone"
android:inputType="phone"
android:maxLength="10"
android:maxLines="1"
android:minLines="1"
android:paddingLeft="30dp"
android:layout_marginBottom="10dp"
android:text="9736625345"
android:textColorHint="@color/colorBlack"
android:textSize="@dimen/sixteen_sp" />
</android.support.design.widget.TextInputLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerInParent="true"
android:text="+91"
android:textSize="16sp" />
</RelativeLayout>
但是当 android:paddingLeft="30dp"
被赋予 EditText
时,TextInputLayout
的提示和错误消息也会发生变化!!
我希望 TextInputLayout
的提示和错误消息保持左对齐,而 EditText
应该有一个不可编辑的前缀。
正确的实现方式是什么?
最佳答案
如果您不想提供填充,这可能会帮助您调整 View 。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="@dimen/activity_vertical_margin">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+91"
android:textSize="16sp" />
<android.support.design.widget.TextInputLayout
android:id="@+id/layoutMobile"
android:layout_width="0dp"
android:weight="1"
android:layout_height="wrap_content">
<EditText
android:id="@+id/etPhoneNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/txt_hint_phone"
android:imeOptions="actionDone"
android:inputType="phone"
android:maxLength="10"
android:maxLines="1"
android:minLines="1"
android:text="9736625345"
android:textColorHint="@color/colorBlack"
android:textSize="@dimen/sixteen_sp" />
</android.support.design.widget.TextInputLayout>
对于错误指示,请使用此 java 代码
mEditTextObject.setError("Error!")//to show error
mEditTextObject.setError(null)//to Remove Error
关于android - 带有前缀的 TextInputLayout 中的 EditText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49249508/