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

以编程方式更改文本输入文本的HintTextColor和光标颜色

潘胤
2023-03-14

我在应用程序中使用微调器和TextInputText,当用户选择微调器项目时,我想更改一些EditText功能(Curor和HintText颜色)。这是我的代码:

    private void setSpinner(){
        String [] types = {"q_a", "attention", "reminder", "explain", "important", "image", "voice"};
        TypeAdapter adapter = new TypeAdapter(getActivity(), types);
        spinner.setAdapter(adapter);
        
        int [] colors = {
                R.color.actual_purple, R.color.actual_pink, R.color.actual_orange,
                R.color.actual_carrot, R.color.actual_green,
                R.color.deep_blue_grey_flat_icon, R.color.deep_blue_grey_flat_icon
        };

        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                setTextEditor(colors[position]);
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });

    }

 @SuppressLint("NewApi")
    private void setTextEditor(int color){
        Drawable unwrappedDrawable = AppCompatResources.getDrawable(getActivity(), R.drawable.important_cursor);
        Drawable wrappedDrawable = DrawableCompat.wrap(unwrappedDrawable);
        DrawableCompat.setTint(wrappedDrawable, ContextCompat.getColor(getActivity(), color));
        pointEditor.setTextCursorDrawable(unwrappedDrawable);
        pointEditorLayout.setBoxBackgroundColor(ContextCompat.getColor(getActivity(), color));
        pointEditor.setHintTextColor(ContextCompat.getColor(getActivity(), color));
    }

我不知道为什么这样不行。有人能帮我吗?

共有1个答案

储嘉悦
2023-03-14

如需编辑文本,请尝试

pointEditor.setHintTextColor(getResources().getColor(color));

要了解光标颜色,请查看以下答案

 类似资料:
  • 在Android系统中,我们可以通过以下方式更改光标颜色: android:textCursorDrawable=“@drawable/black\u color\u cursor”。 我们如何动态地做到这一点? 在我的情况下,我已经将光标绘图为白色,但我需要改变黑色怎么办?

  • 这里有个简单的问题。我有一个UIButton,currencySelector,我想通过编程更改文本。以下是我所拥有的: Xcode给了我一个错误“预期声明”。我做错了什么?我该如何更改按钮的文本?

  • 我试图通过编程更改edittext的颜色。它可以工作,但正如您从所附的图像中看到的,文本选择的图标仍然使用主题颜色重音,而不是我设置的蓝色。我怎样才能改变它?我目前的代码是:

  • 问题内容: 这里的简单问题。我有一个UIButton,currencySelector,并且我想以编程方式更改文本。这是我所拥有的: Xcode给我错误“期望的声明”。我在做什么错,如何更改按钮的文本? 问题答案: 在Swift 3、4、5中: 除此以外: 还必须为声明。

  • 我想要一个首选项标题的文本,以便在另一个首选项(a)更改时将其颜色更改为白色。当另一个首选项被更改时,我将从侦听器调用此方法: 现在有两种情况: 1) 如果我在方法中返回true,则的开关将正确更改(意味着在启用或禁用的新状态下向左或向右滑动),但受影响首选项的标题颜色不会更改。 2) 如果我在首选项更改中返回false,开关不会改变,但是标题文本的颜色会突然改变。 我怎样才能正确地做呢?

  • 问题内容: 在android中,我们可以通过以下方式更改光标颜色: 。 我们如何动态地做到这一点? 在我的情况下,我将可绘制的光标设置为白色,但是我需要将其更改为黑色。怎么办? 问题答案: 使用一些反射对我有用 Java: XML: 您可以使用不需要XML的方法: