我有一个EditText属性:
android:minLines="3"
Run Code Online (Sandbox Code Playgroud)
但是,当我开始输入时,它会在中间键入EditText.
有没有办法让这个开始在该EditText区域的左上角打字?
如何为我的android项目显示TextArea?从xml开始,唯一的选择是TextField,multi lined.但那可编辑.我需要一个TextArea,它只用于显示消息/文本无法由用户编辑/输入.
我第一次使用新的Android的小部件TextInputLayout,它非常好但我使用setError方法遇到了一些问题
这是我的xml
<android.support.design.widget.TextInputLayout
android:id="@+id/userData_txtNameWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColorHint="@color/light_gray"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout">
<EditText
android:id="@+id/userData_txtName"
style="@style/bold_textbox_style"
android:layout_width="match_parent"
android:layout_height="@dimen/textinut_height"
android:layout_margin="5dp"
android:hint="name"
android:imeOptions="actionNext"
android:inputType="text"
android:paddingTop="10dp"
android:textSize="@dimen/medium_text"/>
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
怎么了:
我跑的时候
setError("error message")
Run Code Online (Sandbox Code Playgroud)
整个EditText背景和提示文本颜色变为红色,因为这里很好.问题是我跑的时候
setError(null)
Run Code Online (Sandbox Code Playgroud)
EditText的样式与原始样式完全不同.
开始情况:
后 setError("mandatory field")
后 setError(null)
我做了很多研究,但找不到任何有用的东西,问题到底是什么?
UPDATE
调查setError()方法的android源代码我发现了这个
public void setError(@Nullable CharSequence error) {
if (!mErrorEnabled) {
if (TextUtils.isEmpty(error)) {
// If error isn't enabled, and the error is empty, just return
return;
}
// Else, we'll assume that they want to enable the error functionality
setErrorEnabled(true); …Run Code Online (Sandbox Code Playgroud) 我在 textInputLayout 中使用 textInputEditText 我必须为我的editText设置背景以实现我的editText的边框视图。但是当我在 textInputLayout 上调用 setError() 时,整个 editText 颜色变为红色。但我只想更改错误文本的颜色,而不是整个视图。
设置错误前:
设置错误后:
这是我的 xml 代码:
<android.support.design.widget.TextInputLayout
android:layout_alignParentTop="true"
android:id="@+id/ex_pass_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:passwordToggleEnabled="false"
android:gravity="right">
<android.support.design.widget.TextInputEditText
android:id="@+id/ex_pass_et"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:hint="??? ???? ????"
android:inputType="textPassword"
android:textColor="#000"
android:textSize="15sp"
android:gravity="right|center"
android:background="@drawable/edittext_bg"
android:padding="8dp"
/>
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
请帮帮我,我做错了什么?
android android-layout android-edittext android-textinputlayout android-textinputedittext
我正试图在我的应用程序中创建这样的东西(取自谷歌文档):
现在,我尝试创建一个TextInputLayout元素并尝试在其周围放置边框,但我无法让它看起来像我发布的图像.
这是我的代码TextInputLayout:
<android.support.design.widget.TextInputLayout
android:id="@+id/shipper_layout"
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="8dp"
android:background="@drawable/text_layout_stroke_normal"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp">
<EditText
android:id="@+id/shipper_field"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="15dp"
android:background="@null"
android:gravity="top"
android:hint="@string/shipper_field"
android:inputType="textMultiLine"
android:overScrollMode="always"
android:scrollbarStyle="insideInset"
android:scrollbars="vertical" />
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
以下是它的外观:(关注之前)
您可以看到边框未按预期更改,并且提示只是最小化