在edittext中为文本指定文本颜色

时间:2012-04-20 07:52:03

标签: android android-widget

如何通过扩展它来为Edittext中的文本指定不同的颜色。

8 个答案:

答案 0 :(得分:19)

您可以像这样添加android:textColor来更改文字颜色:

<EditText
    android:id="@+id/editText1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textColor="#f00" />

答案 1 :(得分:13)

使用跨度:

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

答案 2 :(得分:7)

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

我们可以在styles.xml文件中创建自己的自定义样式,除了textColor之外还有许多其他属性,并应用于我们的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。 :)

答案 3 :(得分:3)

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

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

对我来说,editTextColor有效:

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

答案 4 :(得分: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);

答案 5 :(得分:2)

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

colors.xml:

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

并像这样引用它:

myEditText.setTextColor(ContextCompat.getColor(this, R.color.colorText));

答案 6 :(得分:1)

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

答案 7 :(得分:0)

<EditText
  android:layout_width="what_ever_size"
  android:layout_height="what_ever_size"
  android:textColor="@color/your_choice_of_color" />