【问题标题】:Android app label colorAndroid 应用标签颜色
【发布时间】:2013-12-15 17:02:06
【问题描述】:

我不想为应用标签创建任何自定义布局,只想将其颜色更改为白色(现在是黑色)。我怎么能这样做?

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/MyActionBar</item>

</style>

<style name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar">
    <item name="android:background">@drawable/bg_blue_solid_onclick</item> 
//////CHANGE label color    
</style>
</resources>

【问题讨论】:

标签: android colors themes label


【解决方案1】:

styles.xml

<style name="MyTheme" parent="@android:style/Theme.Holo">
         <item name="android:actionBarStyle">@style/MyActionBar</item>

</style>
<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
         <item name="android:background">#FF9D21</item>
         <item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
</style> 
<style name="MyActionBarTitleText"
           parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
        <item name="android:textColor">@color/red</item>
</style>

colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="red">#FF0000</color>
</resources>

更多信息

https://developer.android.com/training/basics/actionbar/styling.html#CustomText

捕捉

编辑:使其加粗

 <style name="MyActionBarTitleText"
           parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
        <item name="android:textColor">@color/red</item>
        <item name="android:textStyle">bold</item>
 </style>

【讨论】:

  • 谢谢,它有效!也许我也可以将文本加粗或者我需要额外的布局?
  • @user3082220 你需要任何额外的 fpr 烘焙文本加粗。您可以使用可扩展的字符串并将其设置为 textview ,我猜您需要一个自定义视图来操作栏。我猜你也使用样式来做到这一点
  • @user3082220 使用这个&lt;item name="android:textStyle"&gt;bold&lt;/item&gt; 并检查它的编辑
【解决方案2】:

之前的答案都不适合我,所以我展示了一个对我有用的答案。

<style name="AppThemeCustom" parent="Base.Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@android:color/black</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="actionBarStyle">@style/MyActionBar</item>
    <item name="android:windowBackground">@android:color/white</item>
</style>

<style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar">
    <item name="android:titleTextStyle">@style/MyTitleTextStyle</item>
    <!-- Support library compatibility -->
    <item name="titleTextStyle">@style/MyTitleTextStyle</item>
</style>

<style name="MyTitleTextStyle" 
  parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">@android:color/black</item>
</style>

如果您发现自己处于我的境地,我希望这个解决方案可以挽救您的一天。哈哈

【讨论】:

    【解决方案3】:

    您需要在 ActionBar 中设置 android:titleTextStyle 的样式。

    <style name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar">
         <item name="android:titleTextStyle">@style/MyTextTitle</item>
    </style>
    
    <style name="MyTextTitle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
        <item name="android:textColor">@color/white</item>
    </style>  
    

    您可以在 Android 文档中看到这一点:Customize the Text Color in ActionBar

    希望这会有所帮助。

    【讨论】:

    • 我觉得应该是parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title"
    【解决方案4】:

    在styles.xml中

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
    

    在工具栏中

    android:theme="@style/AppTheme.AppBarOverlay"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多