当前位置: 首页 > 知识库问答 >
问题:

如何更改文本输入布局的提示文本颜色

谢骏奇
2023-03-14

嗨,我在我的应用程序中使用TextInputLayout。我想将提示文本颜色和浮动标签颜色(聚焦和不聚焦)设置为白色。我已经尝试了下面的代码

  <android.support.design.widget.TextInputLayout
 android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:theme="@style/TextLabel">

<android.support.v7.widget.AppCompatEditText
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:hint="Hiiiii"
android:id="@+id/edit_id">
 </android.support.v7.widget.AppCompatEditText>
</android.support.design.widget.TextInputLayout>

<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>

它适用于Lollipop,但不适用于较低的versions.How我可以在较低的版本中实现相同的功能吗?

共有2个答案

东郭俊楠
2023-03-14

Text Input style(文本输入样式)提供与Edittext(编辑文本)相同的样式

 <!--Text Input Style-->
    <style name="styleTextInputLayout" parent="Widget.Design.TextInputLayout">
        <item name="android:textColor">?android:attr/textColorSecondary</item>
        <item name="android:textColorHint">?android:attr/textColorSecondaryInverse</item>
    </style>


 <!--EditText-->
    <style name="styleEditText" parent="Widget.AppCompat.EditText">
        <item name="android:textColor">?android:attr/textColorSecondary</item>
        <item name="android:textColorHint">?android:attr/textColorSecondaryInverse</item>
    </style>

为上面的标签提供相应的颜色

<android.support.design.widget.TextInputLayout
                    style="@style/styleTextInputLayout"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content">

                    <EditText
                        android:id="@+id/edtTextFirstName"
                        style="@style/styleEditText"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginBottom="@dimen/dimen_5_dp"
                        android:layout_marginTop="@dimen/dimen_5_dp"
                        android:hint="@string/hint_first_name"
                        android:imeOptions="actionNext"
                        android:inputType="textPersonName|textCapWords"
                        android:singleLine="true" />
                </android.support.design.widget.TextInputLayout>

上面的代码适用于

compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:design:23.0.1'

我在22版本中遇到了问题,可能是因为文本输入忽略了提供给它的样式而存在一些错误。

< code>23下面的< code > com . Android . support:design 的解决方案是:

样式.xml

 <style name="styleTextInputTextAppearance" parent="TextAppearance.AppCompat">
        <item name="android:textColorHint">?android:attr/textColorSecondaryInverse</item>
    </style>

将主题设置为TextInputLayout

<android.support.design.widget.TextInputLayout
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:theme="@style/styleTextInputTextAppearance">

                    <EditText
                        android:id="@+id/edtTextTowerName"
                        style="@style/styleEditText"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginBottom="@dimen/dimen_5_dp"
                        android:layout_marginTop="@dimen/dimen_5_dp"
                        android:hint="@string/hint_tower_name"
                        android:imeOptions="actionNext"
                        android:inputType="textCapWords"
                        android:singleLine="true" />
                </android.support.design.widget.TextInputLayout>
麻烨
2023-03-14

我得到了答案。在低于lollipop的操作系统版本中,我们必须在应用程序主题中将文本颜色设置为白色(在我的例子中)。那就行了。

 类似资料:
  • 我正在使用新的谷歌设计库(com . Android . support:design:22 . 2 . 0 ),我在使用Android . support . design . widget . textinputlayout时遇到了问题。 如果我以编程方式设置它的EditText,浮动提示颜色是灰色而不是强调色。如果用户自己填充字段(EditText)或者如果他改变字段的预定义值,它就工作。

  • 我正在使用带有浮动标签提示的TextInputLayout。但在正常状态下,我无法将提示颜色从白色更改为其他颜色。有办法做到这一点吗? 附加两个背景更改的屏幕快照。

  • 当文本输入为空时,我需要将按钮设置为灰色,一旦所有字段都已填写,请将其更改为蓝色。 login.tsx 从'React'导入React,{useState};从'react native'导入{View、Text、TextInput、TouchableOpacity};从'../../../infrastructure/components/buttons/button-outline prima

  • 启用这些后,我需要提示以不同的颜色显示,如下所示 当我这样尝试时,效果很好 问题是,我必须使用来显示浮动提示。所以,当我在中添加时,这段代码根本不起作用。我用尝试了很多东西,如下所示。但没有任何效果。我只需要EditText的提示文本颜色(不是浮动提示文本)在启用时应该是一种颜色,在禁用时,在中使用时应该是不同的颜色。请帮助! 注意:我的问题不是这个问题的重复。在那里,它提到了TextInputL

  • 问题内容: 我正在编写一个简单的扫雷游戏,现在可以运行,但是我正在处理一些漂亮的细节,例如使每个数字使用不同的颜色。 尝试在上设置文本颜色时,我总是遇到错误。我可以很容易地更改文本和背景,但是不能专门更改文本颜色。 导致一切混乱的部分是: 由于某种原因,我的错误是: 每当我尝试编译时都会发生这种情况,但是当我将其更改为说而不是正常工作时,就会发生这种情况。 问题答案: 对于JButton未定义。要