java - android - 无法自定义 ActionBar

标签 java android android-actionbar

不知何故,我很难解决一个看似简单的问题。我没有指定任何属性,包括android:textandroid:textSizeandroid:textColorandroid:textAppearance,似乎对我的 ActionBar 做了任何事情。当我运行我的项目时,ActionBar 上的“MainActivity”仍然是白色的,并且是默认字体大小。我使用的是 API 级别 16。

这是我的 styles.xml:

<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="AppTheme" parent="android:style/Theme.Holo">
        <item name="android:actionBarStyle">@style/ActionBar</item>
    </style>

    <style name="ActionBar" parent="android:style/Widget.Holo.ActionBar">
        <item name="android:text">This String Is Not Showing Up In ActionBar!</item>
        <item name="android:textColor">@android:color/holo_orange_dark</item>
        <item name="android:textSize">44dp</item>
    </style>
</resources>

和我的 AndroidManifest.xml:

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

有人可以告诉我我做错了什么吗?

最佳答案

一些事情:

<item name="android:text">This String Is Not Showing Up In ActionBar!</item>

这行不通。 应使用 list 中的 Activity 标签字段或通过访问 Activity 中的操作栏对象来设置操作栏标题。

更新:删除的信息部分不准确。事实证明,您可以使用 android:title 标记在 styles.xml 中设置操作栏的标题。这是一个更准确的解决方案:

 <style name="ActionBar" parent="android:style/Widget.Holo.ActionBar">
    <item name="android:title">This String WILL show up in the ActionBar!</item>
    <item name="android:textColor">@android:color/holo_orange_dark</item>
    <item name="android:textSize">44dp</item>
</style>

旧答案:

要更改操作栏标题的文本样式 ( titleTextStyle ),您需要一个新样式:

<style name="Text.ActionBar">
    <item name="android:textColor">@android:color/holo_orange_dark</item>
    <item name="android:textSize">44dp</item>
</style>

并从您的操作栏样式中引用它

<style name="ActionBar" parent="android:style/Widget.Holo.ActionBar">
    <item name="android:titleTextStyle">@style/Text.ActionBar</item>        
</style>

有关您可以在操作栏中设置主题的样式的更多信息,请查看 R.attr文档。

关于java - android - 无法自定义 ActionBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12082527/

相关文章:

java - 无论如何,我们从 servlet 知道客户端是否仍在等待

android - WebView 没有正确换行文本(里面有图片)

android - 如何将应用程序从 sdk 8 迁移到更新版本?

android - 实现 "faster"backToTop - ListView

java - picasso + RxJava2 : Method call should happen from the main thread

Java 日期时间格式混淆

java - 只有一个线程写入时的线程安全

android - 我可以在 Android 中点击按钮创建一个数据库,将我的微调器数据发送到

Android - 带子菜单的滑动菜单

android - 使用 navigateUpFromSameTask() 从 Activity 返回