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

文本输入布局 - 在编辑中更改浮动标签提示颜色文本处于静止状态

东方辉
2023-03-14

我正在使用带有浮动标签提示的TextInputLayout。但在正常状态下,我无法将提示颜色从白色更改为其他颜色。有办法做到这一点吗?

<android.support.design.widget.TextInputLayout
    android:id="@+id/fullNameTextLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:layout_weight="0.75">
    <EditText
        android:id="@+id/etFullName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginStart="15dp"
        android:layout_marginLeft="15dp"
        android:layout_marginEnd="15dp"
        android:layout_marginRight="15dp"
        android:singleLine="true"
        android:hint="Full Name"
        android:textColor="@color/gray_dark"
        android:textColorHint="@color/green"
        android:textColorHighlight="@color/green" />
</android.support.design.widget.TextInputLayout>

附加两个背景更改的屏幕快照。

共有3个答案

程景胜
2023-03-14

使用它来更改提示颜色。-

editText.setHintTextColor(getResources().getColor(R.color.xyz));

解决您的问题-

editText.addTextChangedListener(new TextWatcher() {
    @Override
    public void onTextChanged(CharSequence arg0, int arg1, int arg2,int arg3){
        //do something
    }

    @Override
    public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
        //do something
    }

    @Override
    public void afterTextChanged(Editable arg0) {
        if(arg0.toString().length() <= 0) //check if length is equal to zero
            editText.setHintTextColor(getResources().getColor(R.color.xyz));
    }
});
梁丘洲
2023-03-14

得到了同样的问题,并用TextInputLayout的setHintText外观(int)方法解决了这个问题。

例:

首先找到您的TextInputLayout

android.support.design.widget.TextInputLayout textInputLayout = (TextInputLayout) view.findViewById(R.id.textInputLayout);

现在执行以下操作:

textInputLayout.setHintTextAppearance(R.style.Inactive);

在样式中.xml文件,使用提示颜色的颜色创建样式。例如

<style name="Inactive" parent="AppThemeLight">
    <item name="android:textColorPrimary">@android:color/darker_gray</item>
    <item name="android:textColor">@android:color/darker_gray</item>
</style>

<style name="Active" parent="AppThemeLight">
    <item name="android:textColorPrimary">@android:color/black</item>
    <item name="android:textColor">@android:color/black</item>
</style>

现在,当你改变一些东西时,比如在按钮点击上,你只需要改变你的风格。

final Button button = (Button) findViewById(R.id.button_id);
         button.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
textInputLayout.setHintTextAppearance(R.style.Active);
             }
         });

请记住,您还必须处理TextInputLayout中EditText的颜色。

岳嘉容
2023-03-14

请在TextInputLayout中添加此内容,

  app:hintTextAppearance="@style/mytext 

所以你的布局会是这样的:

 <android.support.design.widget.TextInputLayout
        android:id="@+id/aeal_input_layout_zipcode"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColorHint="@color/green"
        app:hintTextAppearance="@style/mytext">
    <EditText
        android:id="@+id/aeal_etZipCode"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Zipcode"
        android:singleLine="true"
        android:inputType="number"
        android:textColor="@color/primaryTextColor" />
</android.support.design.widget.TextInputLayout>

style.xml:

 <style name="mytext" parent="@android:style/TextAppearance">
    <item name="android:textColor">@color/green</item>
    <item name="android:textColorHint">@color/green</item>
    <item name="colorAccent">@color/green</item>
    <item name="android:textSize">14sp</item>
</style>

已编辑 :您需要在文本输入布局中添加文本颜色颜色,它将根据需要正常工作。

它对我有效,所以可能对你也有帮助。

 类似资料:
  • 嗨,我在我的应用程序中使用TextInputLayout。我想将提示文本颜色和浮动标签颜色(聚焦和不聚焦)设置为白色。我已经尝试了下面的代码。 它适用于Lollipop,但不适用于较低的versions.How我可以在较低的版本中实现相同的功能吗?

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

  • 我使用TextInputLayout,如果输入字段是强制性的,我希望以编程方式设置提示文本颜色和浮动标签颜色。在转到TextInputLayout之前,我使用以下方法以编程方式设置提示文本颜色 有人能指导我如何通过编程方式为TextInputLayout设置提示文本颜色和浮动标签颜色吗。

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

  • 我在应用程序中使用微调器和TextInputText,当用户选择微调器项目时,我想更改一些EditText功能(Curor和HintText颜色)。这是我的代码: 我不知道为什么这样不行。有人能帮我吗?