参照新TextInputLayout
由谷歌发布了,我如何改变浮动标签文本颜色?
设置colorControlNormal
, colorControlActivated
, colorControlHighLight
在风格没有帮助。
这是我现在有:
参照新TextInputLayout
由谷歌发布了,我如何改变浮动标签文本颜色?
设置colorControlNormal
, colorControlActivated
, colorControlHighLight
在风格没有帮助。
这是我现在有:
试试下面的代码工作在正常状态
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/TextLabel">
<android.support.v7.widget.AppCompatEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Hiiiii"
android:id="@+id/edit_id"/>
</android.support.design.widget.TextInputLayout>
在样式文件夹为textLabel代码
<style name="TextLabel" parent="TextAppearance.AppCompat">
<!-- Hint color and label color in FALSE state -->
<item name="android:textColorHint">@color/Color Name</item>
<item name="android:textSize">20sp</item>
<!-- Label color in TRUE state and bar color FALSE and TRUE State -->
<item name="colorAccent">@color/Color Name</item>
<item name="colorControlNormal">@color/Color Name</item>
<item name="colorControlActivated">@color/Color Name</item>
</style>
设置APP的主旋律,它只能强调状态只
<item name="colorAccent">@color/Color Name</item>
更新:
UnsupportedOperationException异常:无法转换为彩色:类型= 0×2的API 16或以下
解
<style name="TextAppearance.App.TextInputLayout" parent="@android:style/TextAppearance">
<item name="android:textColor">@color/red</item>
<item name="android:textSize">14sp</item>
</style>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColorHint="@color/gray" //support 23.0.0
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout" >
<android.support.v7.widget.AppCompatEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/hint" />
</android.support.design.widget.TextInputLayout>
找到了答案,用android.support.design:hintTextAppearance
属性设置自己的浮动标签的外观。
例:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
app:hintTextAppearance="@style/TextAppearance.AppCompat">
<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/prompt_password"/>
</android.support.design.widget.TextInputLayout>
你并不需要使用android:theme="@style/TextInputLayoutTheme"
改变浮动标签的颜色,因为它会影响到对用作标签的小TextView的整个主题。 相反,你可以使用app:hintTextAppearance="@style/TextInputLayout.HintText"
其中:
<style name="TextInputLayout.HintText">
<item name="android:textColor">?attr/colorPrimary</item>
<item name="android:textSize">@dimen/text_tiny_size</item>
...
</style>
让我知道如果解决方案的工作:-)
好了,所以,我发现这个答案非常有帮助,并感谢所有谁贡献的人。 我想补充的东西,虽然。 该接受的答案确实是正确答案......但在我而言,我一直在寻找实现以下错误消息EditText
小部件app:errorEnabled="true"
,这一条线让我的生活困难。 看来,这会取代我选择的主题android.support.design.widget.TextInputLayout
,具有由定义的不同的文字颜色android:textColorPrimary
。
最后,我把直接应用文本颜色到EditText
小部件。 我的代码看起来是这样的:
styles.xml
<item name="colorPrimary">@color/my_yellow</item>
<item name="colorPrimaryDark">@color/my_yellow_dark</item>
<item name="colorAccent">@color/my_yellow_dark</item>
<item name="android:textColorPrimary">@android:color/white</item>
<item name="android:textColorSecondary">@color/dark_gray</item>
<item name="android:windowBackground">@color/light_gray</item>
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:textColorHint">@color/dark_gray</item>
<item name="android:colorControlNormal">@android:color/black</item>
<item name="android:colorControlActivated">@android:color/white</item>
而我的小工具:
<android.support.design.widget.TextInputLayout
android:id="@+id/log_in_layout_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:errorEnabled="true">
<EditText
android:id="@+id/log_in_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textColor="@android:color/black"
android:ems="10"
android:hint="@string/log_in_name"
android:inputType="textPersonName" />
</android.support.design.widget.TextInputLayout>
现在,它会显示黑色文字的颜色,而不是textColorPrimary
白色。
我建议你做的风格主题TextInputLayout,改变只强调色。 家长设置为您的应用基本主题:
<style name="MyTextInputLayout" parent="MyAppThemeBase">
<item name="colorAccent">@color/colorPrimary</item>
</style>
<android.support.design.widget.TextInputLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:theme="@style/MyTextInputLayout">
在支持库(23.0.0+)的最新版本, TextInputLayout
采取下列属性的XML编辑浮动标签颜色: android:textColorHint="@color/white"
相反Brahmam亚马尼回答我更喜欢使用Widget.Design.TextInputLayout父。 这确保了所有必需的物品都存在,即使不是所有的项目将被覆盖。 在Yamanis答案,应用程序将有一个不可避免的崩溃的资源,如果setErrorEnabled(TRUE)被调用。
简单的改变样式为以下内容:
<style name="TextLabel" parent="Widget.Design.TextInputLayout">
<!-- Hint color and label color in FALSE state -->
<item name="android:textColorHint">@color/Color Name</item>
<item name="android:textSize">20sp</item>
<!-- Label color in TRUE state and bar color FALSE and TRUE State -->
<item name="colorAccent">@color/Color Name</item>
<item name="colorControlNormal">@color/Color Name</item>
<item name="colorControlActivated">@color/Color Name</item>
</style>
在我的情况下,我加入这个“ app:hintTextAppearance="@color/colorPrimaryDark"
在我TextInputLayout部件。
你应该在这里更改颜色
<style name="Base.Theme.DesignDemo" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">#673AB7</item>
<item name="colorPrimaryDark">#512DA8</item>
<item name="colorAccent">#FF4081</item>
<item name="android:windowBackground">@color/window_background</item>
</style>
现在,只需使用colorAccent
和colorPrimary
将很好地工作。
我解决这个问题。 这是布局:
<android.support.design.widget.TextInputLayout
android:id="@+id/til_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/username"
>
<android.support.v7.widget.AppCompatEditText android:id="@+id/et_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
/>
</android.support.design.widget.TextInputLayout>
这是风格:
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
-->
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
<item name="colorAccent">@color/pink</item>
<item name="colorControlNormal">@color/purple</item>
<item name="colorControlActivated">@color/yellow</item>
</style>
你应该用你的主题应用程序:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
</application>
改变文本标签的颜色,当你专注于它。 即打字吧。 你必须添加指定
<item name="android:textColorPrimary">@color/yourcolorhere</item>
只是注意:你必须对所有这些实现添加到您的主旋律。
它的工作对我来说.....增添一丝色彩TextInputLayout
<android.support.design.widget.TextInputLayout
android:textColorHint="#ffffff"
android:id="@+id/input_layout_password"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/edtTextPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:hint="Password"
android:inputType="textPassword"
android:singleLine="true"
/>
</android.support.design.widget.TextInputLayout>
要更改提示和编辑文本下划线颜色的颜色:colorControlActivated
要更改字符计数器颜色:textColorSecondary
要改变错误信息的颜色:colorControlNormal
要更改密码的知名度按钮着色:colorForeground
有关TextInputLayout更多信息阅读http://www.zoftino.com/android-textinputlayout-tutorial
<style name="MyAppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorControlActivated">#e91e63</item>
<item name="android:colorForeground">#33691e</item>
<item name="colorControlNormal">#f57f17</item>
<item name="android:textColorSecondary">#673ab7</item>
</style>
我尝试使用机器人:textColorHint在android.support.design.widget.TextInputLayout它工作正常。
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColorHint="@color/colorAccent">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Hello"
android:imeActionLabel="Hello"
android:imeOptions="actionUnspecified"
android:maxLines="1"
android:singleLine="true"/>
</android.support.design.widget.TextInputLayout>
<style name="AppTheme2" parent="AppTheme">
<!-- Customize your theme here. -->
<item name="colorControlNormal">#fff</item>
<item name="colorControlActivated">#fff</item></style>
这个增加的风格和TextInputLayout Theam设置为应用2,它会工作;)