22

如何通过扩展为 EditText 中的文本分配不同的颜色?

4

8 回答 8

25

android:textColor您可以通过添加如下更改文本颜色:

<EditText
    android:id="@+id/editText1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textColor="#f00" />
于 2012-04-20T07:59:13.217 回答
16

使用跨度:

TextView textView = (TextView)findViewById(R.id.mytextview01);
Spannable WordtoSpan = new SpannableString("partial colored text");        
WordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 2, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(WordtoSpan);
于 2012-04-20T08:09:11.293 回答
7

我知道这是一个非常古老的问题,但由于这是我在搜索时遇到的第一个问题,我想添加一个答案,以便未来的读者得到它们。

除了 textColor 之外,我们还可以在 styles.xml 文件中创建我们自己的自定义样式,并将其应用于我们的 EditText。

在styles.xml中添加这个,

<style name="MyEditTextstyle">
    <item name="android:textColor">@color/dark_blue</item>
    <item name="android:background">@drawable/my_custom_edittext_bg</item>
    <item name="android:layout_marginTop">5dp</item>
    <item name="android:layout_marginBottom">5dp</item>
    //many more per requirement
</style>

然后只需将此样式应用于 EditText,

<EditText
    style="@style/MyEditTextstyle" //here
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:hint="Item Name"
    android:padding="10dp" >
    <requestFocus />
</EditText>

很简单,对。:) 重要的是,如果需要,我们可以将相同的东西应用到任何更多的 EditText 上。:)

于 2014-03-05T10:44:04.007 回答
6

我在 style.xml 文件中使用 textColor 属性时遇到问题:

        <item name="android:textColor">@color/white</item>

对我来说,editTextColor 有效:

        <item name="android:editTextColor">@color/white</item>
于 2018-05-26T09:45:07.077 回答
4

要以编程方式更改它,请在您的 colors.xml 文件中添加颜色

颜色.xml:

<resources>
    <color name="colorText">#424242</color>

并像这样引用它:

myEditText.setTextColor(ContextCompat.getColor(this, R.color.colorText));
于 2018-04-18T02:43:28.703 回答
2

从 XML 布局:

我们可以通过添加以下内容来更改EditText文本颜色:android:textColor

<EditText
    android:id="@+id/myEditText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="Your Name"
    android:textColor="#FF0000"
</EditText>

从 Java 类:

我们可以EditText通过添加以下方法来实用地更改文本颜色EditText.setTextColor()

EditText myEditText = (EditText)findViewById(R.id.myEditText);
myEditText.setTextColor(Color.RED);
于 2016-02-03T12:23:38.670 回答
1

android:textColor,在 EditText xml 中设置这个属性。

于 2012-04-20T07:54:57.873 回答
0
<EditText
  android:layout_width="what_ever_size"
  android:layout_height="what_ever_size"
  android:textColor="@color/your_choice_of_color" />
于 2019-11-05T09:42:56.537 回答