这是我的xml
<android.support.design.widget.TextInputLayout
style="@style/main_input_text"
android:layout_marginTop="@dimen/activity_medium_margin"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout">
<android.support.v7.widget.AppCompatEditText
style="@style/main_edit_text"
android:inputType="text" />
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
这就是风格
<style name="main_input_text">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">@dimen/activity_edittext_height</item>
<item name="android:background">@drawable/mc_shape_border_button_transparent</item>
<item name="android:gravity">center_vertical</item>
<item name="android:paddingTop">@dimen/activity_extra_small_margin</item>
<item name="android:paddingBottom">@dimen/activity_extra_small_margin</item>
<item name="android:keyTextSize">8sp</item>
<item name="android:textSize">8sp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我没有找到类似hintSize,textSize和keyTextSize的东西
这可能看起来违反直觉,但有没有办法禁用或删除浮动标签提示TextInputLayout?我想要使用的原因TextInputLayout而不仅仅是EditText用于TextInputLayout提供的计数器.
这是我到目前为止:
<android.support.design.widget.TextInputLayout
android:id="@+id/textContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"
app:counterEnabled="true"
app:counterMaxLength="100">
<EditText
android:id="@+id/myEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="top|left"
android:inputType="textMultiLine|textCapSentences"
android:maxLength="100"
android:scrollbars="vertical"
android:hint="This is my cool hint"/>
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用材质样式自定义TextInputLayout.我设法将聚焦状态设置为我想要的颜色:
运用
<com.google.android.material.textfield.TextInputLayout
style="@style/LoginTextInputLayoutStyle"
android:theme="@style/LoginTextInputLayoutStyle"
android:textColorHint="#fff"
app:boxStrokeColor="#fff"
.....>
<EditText ...
Run Code Online (Sandbox Code Playgroud)
风格在哪里:
<style name="LoginTextInputLayoutStyle" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense">
<item name="colorAccent">#fff</item>
</style>
Run Code Online (Sandbox Code Playgroud)
但是当textinput没有聚焦时,我得到了这样的表情:
如何将黑线的颜色也改为白色.谢谢
android android-styles material-design android-textinputlayout
TextInputLayout包含一个EditText,后者又接收来自用户的输入.使用Android设计支持库中引入的TextInputLayout,我们应该将错误设置为持有EditText而不是EditText本身的TextInputLayout.编写UI时,将只关注EditText而不是整个TextInputLayout,这可能导致键盘覆盖错误.在以下GIF通知中,用户必须先删除键盘才能看到错误消息.这与设置IME动作以使用键盘继续前进相结合会导致真正令人困惑的结果.
布局xml代码:
<android.support.design.widget.TextInputLayout
android:id="@+id/uid_text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:errorEnabled="true"
android:layout_marginTop="8dp">
<EditText
android:id="@+id/uid_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:hint="Cardnumber"
android:imeOptions="actionDone"/>
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
Java代码将错误设置为TextInputLayout:
uidTextInputLayout.setError("Incorrect cardnumber");
Run Code Online (Sandbox Code Playgroud)
如何在用户没有看到错误消息的情况下确保错误消息可见?有可能移动焦点吗?
android android-layout android-design-library androiddesignsupport android-textinputlayout
当使用设计支持库中的TextInputLayout时,是否可以在提示中只显示星号?我已经看到了关于样式整个提示的信息,但这有点复杂,因为只有*应该是红色,而不是整个消息.
Material Design示例显示了这一点,但设计库似乎没有任何选项可以使用TextInputLayout和EditText以这种方式设置样式.
参考:https: //www.google.com/design/spec/components/text-fields.html#text-fields-required-fields
示例(顶部,有焦点,有红色星号;没有焦点的底部没有红色星号):
我查看将提示设置为一个SpannableString(请参阅此处如何在<string>条目中获取红色星号)在OnFocusChangeListener中(请参阅此处具有编辑文本的强制符号(红色星号),该符号位于textinputlayout内) ,但提示是CharSequence.
有没有办法在不扩展TextInputLayout的情况下执行此操作?
android android-edittext material-design android-textinputlayout
我有一个 android 屏幕,它接收用户的电子邮件。下面是代码片段,我想删除出现在文本下方的下划线。
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:hint="@string/email"
android:textColorHint="@color/blueBackground"
app:boxBackgroundColor="@color/input_background"
app:boxCornerRadiusBottomEnd="20dp"
app:boxCornerRadiusBottomStart="20dp"
app:boxCornerRadiusTopEnd="20dp"
app:boxCornerRadiusTopStart="20dp"
app:endIconMode="clear_text"
app:endIconTint="@color/blueBackground"
app:hintTextColor="@color/blueBackground">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/blueBackground"
android:textSize="18sp"
android:layout_margin="8dp" />
</com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
我曾尝试android:background="@null"和
<item name="colorControlNormal">@android:color/transparent</item>
<item name="colorControlActivated">@android:color/transparent</item>
但它不起作用。
我想在EditText(在TextInputLayout中)中使用java设置提示.
用于设置提示的代码:
aET = (EditText) findViewById(R.id.aET);
aET.setHint("h?");
但即使关注edittext,Hint也会显示两次(也在edittext内).
如果有人面对并找到一些解决方法,请告诉我
当editText聚焦时......

当editText没有聚焦时..

编辑[2015年7月10日]:
<android.support.design.widget.TextInputLayout
android:id="@+id/aTIL"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/aET" />
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud) android android-appcompat android-edittext android-textinputlayout
我正在尝试向TextInputLayout添加一个Left图标,但是文本会覆盖Icon.当我添加填充时,一切都在一起移动.
我试过了
android:drawableLeft="@drawable/ic_store_white_48dp"
android:drawablePadding="50dp"
android:drawableStart="@drawable/ic_store_white_48dp"
Run Code Online (Sandbox Code Playgroud)
但它不起作用!我应该为每一行实现一个LinearLayout水平,但我想确保没有更简单的方法来做到这一点
这是我的代码布局:
<android.support.design.widget.TextInputLayout
android:id="@+id/til_calle"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/et_calle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_store_white_48dp"
android:drawablePadding="50dp"
android:drawableStart="@drawable/ic_store_white_48dp"
android:hint="Calle"
android:inputType="text" />
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud) 我TextInputLayout在我的Android应用程序中使用,以便为我的输入字段实现整洁的浮动标签效果.我知道我也应该使用它TextInputEditText来允许在横向模式下显示提示并且输入填满整个屏幕.
但是,在我的一些输入字段中,我已经使用了自动完成AutoCompleteTextView(IMO的名称确实不一致 - "TextView"而不是"EditText" - 但这是另一个故事)并且显然是直接继承的EditText.因此它没有带来的功能TextInputEditText.
所以我想知道是否有办法实现相同的景观功能(没有自己的TextInputAutoCompleteTextView实现,也就是这样),并且还避免产生的lint警告.我在这里错过了什么吗?我想我得到的是他们没有EditText为这个特定事物制作所有直接和间接子类的自定义版本,所以我希望自己制作?
android autocomplete autocompletetextview android-edittext android-textinputlayout
android android-layout android-edittext material-design android-textinputlayout