为什么安卓活动栏标题是黑色的?

5

之前我使用Android Studio制作项目时,活动操作栏标题默认为白色。 我创建了一个新项目,与之前的项目设置相同(API级别11),但活动标题颜色的默认颜色是黑色。我没有改变任何东西,这是一个全新的项目。 我尝试使用样式,但什么都不起作用。

3个回答

1
新项目的操作栏标题颜色取决于所使用的默认主题。如果是深色操作栏,则标题颜色为白色,请前往清单中检查所使用的主题。

它使用默认主题,即此主题。 `<resources> </resources>` \n 对于代码混乱的问题我感到抱歉,不知道如何在这个网站上进行格式化。 - Cs_Is_Better
当您的操作栏主题为暗色时,请尝试将“Theme.AppCompat.Light”替换为“Theme.AppCompat.Light.DarkActionBar”,标题会自动变为浅色。如果要在此处添加任何代码,请在该行之前加上四个空格,它将被格式化。 - Anshul

0

为了改变actionbar标题的颜色,您可以在您的类中使用以下代码:

actionBar.setTitle(Html.fromHtml("<font color='#ffffff'>ActionBarTitle </font>"));
// to choose white 

或者在res/values/styles.xml文件中更改您的操作栏样式:

<resources>
    <style name="MyCustomTheme" parent="@android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/MyActionBarTheme</item>
    </style>

    <style name="MyActionBarTheme" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">ANY_HEX_COLOR_CODE</item>
        <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
        <item name="titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
    </style>
</resources>

请记住,在您的应用程序的manifest.xml中,您应该更改之前选择的样式。


MyTheme在哪里可以找到?它应该已经存在吗?我在使用时遇到了错误。 - Cs_Is_Better

0
如果你想在程序中进行更改,下面是代码。
ActionBar ID 不能直接获取,因此需要在这里进行一些小的黑客操作。
 int actionBarTitleId = Resources.getSystem().getIdentifier("action_bar_title", "id", "android");
if (actionBarTitleId > 0) {
    TextView title = (TextView) findViewById(actionBarTitleId);
    if (title != null) {
        title.setTextColor(Color.RED);
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接