【问题标题】:Can we change the text color of a complete activity through a single line in Android XML file?我们可以通过 Android XML 文件中的一行来更改完整活动的文本颜色吗?
【发布时间】:2015-07-25 14:36:22
【问题描述】:

我想更改活动中写入的所有文本的颜色,无论是Button 还是TextView

那么,Android for XML 中是否有任何可用的属性可以做到这一点,或者可以应用于布局标签?

P.S.:目前,我正在单独更改所有小部件中的文本颜色。

【问题讨论】:

  • 那么,你想改变 Activity 的背景,还是相应 Activity 中所有 textViews 的颜色?我不太明白是哪一种,或者你的意思可能是别的。
  • 一口气把所有TextViews的textcolor。
  • 我只是想问问有没有办法做到这一点。
  • 您希望通过 XML 来实现,还是通过 java 来实现??
  • 我也可以通过 Java 实现它。

标签: java android xml layout tags


【解决方案1】:

例子:

 <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
     <item name="android:textColor">@color/blue</item>
     <item name="android:buttonStyle">@style/ButtonTheme</item>
  </style>

然后是按钮:

<style name="ButtonTheme" parent="android:style/Widget.Button">
     <item name="android:textColor">@color/blue</item>
</style>

用你需要的一切来做这件事。 (如 EditTexts)

【讨论】:

    【解决方案2】:

    因此,首先,您必须以编程方式添加 TextView。

    为什么?很简单,因为这样您就可以将它们全部放在 TextView 数组中。

    这意味着您可以使用 for 循环遍历它们。

    现在,这样的逻辑已经不存在了,你要做的就是始终检查父级的 TextView 是否是你想要更改内容的布局。

    所以,你这样做:

    Layout = (RelativeLayout) findViewById(R.id.yourlayout);
    
    for(i=0;i<=[numberOfTextViews]-1;i++){
       if(tvArray[i].getParent() == Layout){
           tvArray[i].setTextColor(Color.RED);
         }
    }    
    

    注意!我给了你逻辑,而不是你需要的确切代码。你必须将我在这里给你的代码集成到你的应用程序中。所以请你自己考虑一下,无论如何,如果我给你你需要的确切行(在你提供你自己的之后代码...),您将使用这些东西,而不是忘记一切...

    【讨论】:

      猜你喜欢
      • 2021-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-29
      • 2014-05-11
      • 2011-02-20
      • 1970-01-01
      相关资源
      最近更新 更多