参考TextInputLayoutGoogle发布的新版本,如何更改浮动标签文字颜色?
设置colorControlNormal,colorControlActivated,colorControlHighLight在风格于事无补.
这就是我现在拥有的:

android android-edittext android-design-library android-textinputlayout
我正在使用android设计库TextinputLayout.但无法自定义提示颜色,标签颜色和EditText内部的下划线颜色TextinputLayout.请帮忙.
将我们的一些设备更新到Android 8.0后,在关注a TextInputEditText内部的一个字段后TextInputLayout,应用程序崩溃了Exception:
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'void
android.view.View.getBoundsOnScreen(android.graphics.Rect)' on a null object reference
at android.app.assist.AssistStructure$WindowNode.(AssistStructure.java)
at android.app.assist.AssistStructure.(AssistStructure.java)
at android.app.ActivityThread.handleRequestAssistContextExtras(ActivityThread.java:3035)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1807)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Run Code Online (Sandbox Code Playgroud)
当我们进入android 设置 - >系统 - >语言和输入 - >高级 - >自动填充服务 - >无,然后专注于TextInputEditText / TextInputLayout不再崩溃.
如何在不必禁用设备上的新8.0自动填充服务的情况下防止崩溃发生?
android android-edittext android-textinputlayout android-8.0-oreo
我正在使用一个EditText内部TextInputLayout,但在将支持库升级到23.2.0之后,我在logcat中得到了这个警告,常规EditText和一个有TextInputEditText什么区别?我似乎无法找到任何文件.
android android-layout android-edittext android-support-library android-textinputlayout
在使用Android设计支持库TextInputLayout将浮动标签放置在EditText组件上方之后,我想知道是否有办法向组件添加浮动标签Spinner(不一定使用设计库).
通过这个,我的意思是TextView放在上面Spinner(显然没有像这样的动画TextInputLayout),但我希望文本大小,字体和颜色与TextInputLayout浮动标签的匹配.
例如,它看起来像这样(参见Spinners 上方的标签):
正如我之前提到的,我的主要目标是在上面有一个标签Spinner,就像在TextInputLayout- 所以文字大小,字体,颜色和标签与组件之间的距离是相同的.
在有关浮动标签文本字段的Google设计页面上,有一个图表显示了标签相对于组件的尺寸,但没有标签文字颜色或尺寸的指示:
总而言之,我要问:
- 如果有一个特殊的组件来实现我的要求或我可以使用的自定义视图,它会是什么,以及如何使用它.
-如果不是,什么是浮动标签文字大小,颜色和字体,这样我就可以把一个TextView上面我Spinner用上面的图片中显示的布局尺寸.
根据文本字段的Google设计指南,浮动标签有以下内容:
提示和输入字体:Roboto Regular 16sp
Label字体:Roboto Regular 12sp
平铺高度:72dp
文本顶部和底部填充:16dp
文本字段分隔符填充:8dp
以及上面显示的图像.
所以浮动标签字体是:Roboto Regular 12sp.因此,您可以使用a TextView来显示Spinner标签,因为我不知道View您可以使用的任何自定义或特殊组件.
但是,在尝试之后,它看起来并不像图像中显示的那样好.一个自定义视图可能是为了这个美好的,因为它可能看起来更好,但上面的解决方案是实现东西接近我本来想的只是一种方法.
android android-layout android-spinner material-design android-textinputlayout
无法解析资源@id/visible使用时TextInputLayout上appcompat-v7:25.x.x
尝试以下这些步骤,但问题仍然存在:
下面是布局文件中的代码.
<android.support.design.widget.TextInputLayout
android:id="@+id/tilFirstName"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.TextInputEditText
android:id="@+id/etFirstName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/first_name"
android:inputType="textPersonName"/>
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
以下是Android Studio中显示的消息
渲染问题.
无法解析资源
@id/visible提示:尝试刷新布局.
注意:@id/visible代码中不存在.
如何更改可以设置为显示在文本字段下方的错误消息的颜色TextInputLayout(通过setError(...)- 请参见此处的错误状态)?
它通常显示为红色,我想改变它.我应该在styles.xml文件中使用哪些项目名称/键来定位颜色?
提前致谢.
编辑:
添加app:errorTextAppearance了我的钥匙TextInputLayout:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:id="@+id/welcome_current_week_container"
app:errorTextAppearance="@style/WelcomeErrorAppearance">
<EditText
..../>
</android.support.design.widget.TextInputLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
和错误外观(设置为绿色进行测试):
<style name="WelcomeErrorAppearance" parent="@android:style/TextAppearance">
<item name="android:textColor">@android:color/holo_green_dark</item>
</style>
Run Code Online (Sandbox Code Playgroud)
结果是提示以及错误消息被着色(来自缩放的Android模拟器的屏幕截图):
常规(无错误):
错误状态:
编辑2 /结果:
出现错误消息时,字段上方的提示将更改为与错误消息相同的颜色,覆盖提示颜色 - 这是设计使然.
我有一个EditText,它的父亲是TextInputLayout.我试图以编程方式为EditText提供提示,(在布局中),在这种情况下,文本输入提示动画不起作用,它的工作方式就像简单的EditText.有人可以建议如何处理它.
下面是我的布局.
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/post_EditTextPostAnAd"
style="@style/abc_EditView" />
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud) 我最近使用过TextInputLayout它的setError()方法.我得到的问题是,当我通过调用setError(null)它来清除错误时,会在底部留下如此多的空白空间.
正常:
有错误:
清除错误后:
在查看源代码后,我发现他们正在制作视图INVISIBLE而不是GONE
Run Code Online (Sandbox Code Playgroud).setListener(new ViewPropertyAnimatorListenerAdapter() { @Override public void onAnimationEnd(View view) { view.setVisibility(INVISIBLE); // here it is updateLabelVisibility(true); } }).start();
我想知道为什么会这样?如何解决这个问题以避免空白?
这是我的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的东西