Android,如何为 TextView 小部件设置主题字体颜色?

2024-04-15

我刚刚在我的主题中应用了黑色背景图像

<style name="AppBaseTheme" parent="Theme.Sherlock.Light">
</style>

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:windowBackground">@drawable/background</item>
</style>

现在我希望将文本视图的颜色更改为白色,以便它们在深色背景下可见

我认为为 TextView 设置 android:textColor 可以像这样解决问题

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:windowBackground">@drawable/background</item>
    <item name="android:textViewStyle">@style/Ff1TextViewStyle</item>
</style>


<style name="Ff1SpinnerViewStyle" parent="android:Widget.TextView">
    <item name="android:textColor">@color/sysWhite</item>
    <item name="android:textStyle">bold</item>
</style>

但令我沮丧的是,这完全塞满了各种各样的东西,比如旋转文本和旋转下拉文本,通过将文本更改为白色背景上的白色来操作操作栏下拉菜单,所有这些我之前都非常满意,加上我确信其他控件我还没有使用过或者还没有发现很可能最终会出现白色文本。

我发现很难相信 Android 主题是如此混乱,以至于我无法自信地设置 TextView 小部件的文本颜色而不影响小部件,我只能假设这些小部件是 TextView 小部件的子级,所以我认为它必须只是我缺乏知识才是罪魁祸首,我希望并寻求启蒙,以实现共同的要求。

任何帮助表示赞赏。


我不太确定你是否可以只设置一个样式TextView, 因为Actionbar , Spinner和别的Views包含TextView作为他们的孩子,所以正如你所发现的那样,这也会影响他们。在我看来,您应该创建一种样式并将其设置为您的TextView的。与此类似的东西:

 <style name="MyTextView" parent="@android:style/TextAppearance.Small">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textColor">@android:color/white</item>
    <item name="android:textSize">12sp</item>
</style>

并在你的TextView的 xml 声明:

<TextView
   style="@style/MyTextView" />

或者您可以做的第二件事是创建您的自定义TextView

public class MyTextView extends TextView {

     public MyTextView(Context context){
         super(context);
         this.setTextColor(android.R.color.white);
     }
}

并在您的 xml 文件中使用 MyTextView :

<com.my.package.name.MyTextView
   android:id="@+id/my_textview" />

Edit:

为什么设置的事情android:textViewStyle影响所有其他视图只是因为如果你仔细观察 android 源代码,你会发现其他视图中使用的每个 textview 样式都是android.Widget.TextView。因此,我认为在这种情况下你能做的最好的事情就是创建一个单一的样式并将其设置为你的TextView在 xml 中。

希望这些信息能有所帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android,如何为 TextView 小部件设置主题字体颜色? 的相关文章

随机推荐

  • 如何在违反唯一约束时返回 Postgres 中的原始行

    在 Postgres 中 如果您尝试插入具有唯一索引的值 您将看到以下内容 duplicate key value violates unique constraint testing email key DETAIL Key email
  • Spring MVC:复杂对象作为 GET @RequestParam

    假设我有一个页面列出表上的对象 并且我需要放置一个表单来过滤表 过滤器作为 Ajax GET 发送到如下 URL 而不是在我的控制器上有很多参数 例如 RequestMapping value action public ResponseB
  • 如果另一列中有匹配的单元格,则 Excel 公式从另一列返回值[重复]

    这个问题在这里已经有答案了 我有两列 如下所示 ID Qty FW01 20 AW08 100 FW01 30 FW01 40 AW55 60 我需要公式在列 ID 中搜索并查找此列中的所有相似单元格 并返回 Qty 列中与此 ID 匹配的
  • 下载 webroot 之外的文件

    好的 首先道歉 因为我意识到这是一个之前已经讨论过很多次的主题 相信我 我知道 我已经阅读了之前的所有问题和答案 但仍然无法使其发挥作用 我有一个包含可下载文件的文件夹 出于安全目的 我将此文件放置在 Webroot 之外 然而 尽管我尽了
  • C++ std::set 更新很乏味:我无法就地更改元素

    我发现更新操作std set乏味 因为没有这样的 API参考参数 http en cppreference com w cpp container set 所以我目前所做的是这样的 find element in set by iterat
  • 如何构建没有声音空安全的APK

    我可以在手机上以发布模式运行应用程序并传递标志 no sound null safety release 但 两者都不flutter build apk enable experiment non nullable nor flutter
  • 如何在 github 上查看整个代码库?

    我想查看 GitHub 上 git 存储库的单个分支中的所有代码 我是一名教授 代码是学生论文的一部分 任何单个提交都只会影响代码的一小部分 如何执行审查 使我能够对任何提交的所有代码进行逐行注释 我相信这个问题与如何制作 github P
  • Symfony2 生产时错误 500 而不是 404

    在我的 Symfony2 项目中 我进入了开发模式正确的 404 异常屏幕 但在生产模式下 我遇到了空白屏幕 HTTP 状态代码为 500 而不是 404 我正在使用位于的自定义错误模板app Resources TwigBundle vi
  • 从 youtube v3 API 获取实际配额限制

    我想从 youtube api 获取我的实际配额限制 有这种可能吗 当我打开这个页面时 我看到了我的极限 但是我怎样才能得到这个呢 不存在此类历史配额使用情况 API 您应该按照以下建议避免配额问题https youtube eng goo
  • AS3 for ios:如何序列化数组然后保存它

    我有一个多维数组 我想序列化它 然后使用共享对象保存它 我尝试了很多事情 但每次都会出现问题 JSON 不能有类型 ByteArray 结果不是 String 那么 SharedObject 不想保存它 共享对象可能不是解决方案的一部分 所
  • 为什么 XPATH count 函数返回 double 而不是 int?

    以下代码片段产生一个无效转换异常 static int XPathCount var doc new XmlDocument doc LoadXml
  • 稀疏矩阵上的 einsum

    看来是numpy的einsum功能不适用于scipy sparse矩阵 有没有其他方法可以做这些事情einsum可以用稀疏矩阵吗 回应 eickenberg 的回答 我想要的特定 einsum 是numpy einsum ki kj gt
  • 使用/从 Springfox 迁移到 springdoc-openapi 有什么优势吗?

    为了在 SpringBoot 2 7 中启用 Swagger 选择 springdoc openapi 相对于 Springfox 的优点 缺点是什么 这可能被认为是基于意见的 但实际上有事实支持使用 springdoc 而不是 Sprin
  • Chrome 61 的本地存储

    从 Chrome 61 开始 添加到本地阶段的任何项目似乎不再在本地配置文件中创建为物理文件 之前运行命令 localStorage setItem key value 将创建一个与该网站相对应的 SQLite 文件 localappdat
  • 自动重定向到干净的网址

    我如何在 php 中自动将网站从脏网址重定向到干净网址 例如 http www mysite com page page1 action action1 to http www mysite com page1 action1 您必须检查它
  • ios 谷歌地图 准确度

    我可以使用谷歌地图显示用户当前位置以及到达他的路线 问题 用户位置大多数时候都在路边 我不能把这样的应用程序放在Appstore中 它会得到不好的评论 我检查了 IOS 的 google sdk 是否有任何准确性的属性 喜欢 self go
  • C语言中枚举的大小

    我如何知道枚举的大小Days 它会等于7 4 sizeof int 28 The printf 这给了我价值4 怎么解释呢 enum Days saturday sunday monday tuesday wednesday thursda
  • 是否可以在drawInContext调用之间保留CALayer的内容?

    是否有任何内置功能可以在 drawLayer inContext 调用之间维护 CALayer 的内容 现在 我将图层复制到缓冲区 并在每次调用drawLayer inContext 时从缓冲区重新绘制图像 但我想知道 CALayer 是否
  • 高级自定义字段获取子字段图像

    我在 ACF 中有一个子字段 名为 imgcolumn 1 这被设置为图像 并允许用户添加图像 现在 在 PHP 中 我尝试检索用户添加的输入 例如 我在 AFC 中有另一个名为 column 1 的子字段 我使用它来检索它 还有其他方法来
  • Android,如何为 TextView 小部件设置主题字体颜色?

    我刚刚在我的主题中应用了黑色背景图像 现在我希望将文本视图的颜色更改为白色 以便它们在深色背景下可见 我认为为 TextView 设置 android textColor 可以像这样解决问题