微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用作它们时不应用textColor

如何解决用作它们时不应用textColor

| 我的样式包括textColor,textSize,textStyle和字体。当直接应用于EditText小部件时,文本的颜色是指定的(以及其他属性),但是当作为主题应用于活动或整个应用程序时,大小合适,但不应用颜色。我缺少什么?
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<resources>
    <style name=\"fap\" parent=\"android:Theme.Holo\">
      <item name=\"android:textSize\">24sp</item>
      <item name=\"android:textColor\">#FF0000</item>
      <item name=\"android:textStyle\">normal</item>
      <item name=\"android:typeface\">normal</item>
    </style>
</resources>
    

解决方法

EditText
小部件无法从活动主题获取这些参数。它从活动主题的
android:editTextStyle
参数获取其默认样式。因此,您必须创建自己的样式:
<style name=\"MyEditText\" parent=\"android:Widget.EditText\">
  <item name=\"android:textSize\">24sp</item>
  <item name=\"android:textColor\">#FF0000</item>
  <item name=\"android:textStyle\">normal</item>
  <item name=\"android:typeface\">normal</item>
</style>
然后在活动主题中将其设置为“ 1”样式:
<style name=\"fap\" parent=\"android:Theme.Holo\">
  <item name=\"android:editTextStyle\">@style/MyEditText</item>
</style>
希望这会成功,因为我没有尝试过此代码。     ,这很简单:您不会覆盖android默认样式,而是创建一个扩展了
android:Widget.EditText
的新样式。因此,不应用样式。 要更正此问题,请在主题定义中添加:
<item name=\"android:editTextStyle\">@style/fap</item>
现在,每当Android实例化一个EditText时,当它加载默认样式值时,它将找到您的
fap
样式。 编辑: 搜索android的源代码非常有用。检查https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/values/attrs.xml https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/values/themes.xml https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/values/styles.xml https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/widget/EditText.java 例如。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。