为 EditText 中的文本分配文本颜色
Posted
技术标签:
【中文标题】为 EditText 中的文本分配文本颜色【英文标题】:Assigning text color to text in EditText 【发布时间】:2012-05-01 19:20:05 【问题描述】:如何通过扩展 EditText 为文本指定不同的颜色?
【问题讨论】:
请Chaitanya,在这里发布问题之前做一些研究.. 【参考方案1】:您可以通过添加android:textColor
来更改文本颜色,如下所示:
<EditText
android:id="@+id/editText1"
android:layout_
android:layout_
android:textColor="#f00" />
【讨论】:
【参考方案2】:使用跨度:
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);
【讨论】:
setText
是否缺少参数?我认为它还需要BufferType
。【参考方案3】:
我知道这是一个非常古老的问题,但由于这是我在搜索时遇到的第一个问题,所以我想添加一个答案,以便未来的读者得到它们。
我们可以在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_
android:layout_
android:layout_weight="1"
android:hint="Item Name"
android:padding="10dp" >
<requestFocus />
</EditText>
简单,对。 :) 重要的是,如果需要,我们可以将相同的东西应用到更多的 EditText 上。 :)
【讨论】:
【参考方案4】:我在 style.xml 文件中使用 textColor 属性时遇到问题:
<item name="android:textColor">@color/white</item>
对我来说 editTextColor 有效:
<item name="android:editTextColor">@color/white</item>
【讨论】:
【参考方案5】:要以编程方式更改它,请在您的 colors.xml 文件中添加颜色
colors.xml:
<resources>
<color name="colorText">#424242</color>
并像这样引用它:
myEditText.setTextColor(ContextCompat.getColor(this, R.color.colorText));
【讨论】:
【参考方案6】:来自 XML 布局:
我们可以通过添加android:textColor
来改变EditText
的文字颜色,如下所示:
<EditText
android:id="@+id/myEditText"
android:layout_
android:layout_
android:hint="Your Name"
android:textColor="#FF0000"
</EditText>
来自 Java 类:
我们可以通过添加方法EditText.setTextColor()
来实用地更改EditText
文本颜色,如下所示:
EditText myEditText = (EditText)findViewById(R.id.myEditText);
myEditText.setTextColor(Color.RED);
【讨论】:
【参考方案7】:android:textColor,在 EditText xml 中设置这个属性。
【讨论】:
【参考方案8】:<EditText
android:layout_
android:layout_
android:textColor="@color/your_choice_of_color" />
【讨论】:
以上是关于为 EditText 中的文本分配文本颜色的主要内容,如果未能解决你的问题,请参考以下文章
如何在出错时将edittext边框颜色更改为红色? [重复]