Java android-can';自定义操作栏

Java android-can';自定义操作栏,java,android,android-actionbar,Java,Android,Android Actionbar,不知何故,我很难找出一个看似简单的问题。我指定的所有属性,包括android:text,android:textSize,android:textColor,android:textAppearance,似乎对我的操作栏没有任何作用。当我在ActionBar上运行我的项目“MainActivity”时,它仍然是白色的,并且是默认的字体大小。我使用的是API级别16 以下是my styles.xml: <resources xmlns:android="http://schemas.andr

不知何故,我很难找出一个看似简单的问题。我指定的所有属性,包括
android:text
android:textSize
android:textColor
android:textAppearance
,似乎对我的操作栏没有任何作用。当我在ActionBar上运行我的项目“MainActivity”时,它仍然是白色的,并且是默认的字体大小。我使用的是API级别16

以下是my 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>

@样式/操作栏
此字符串未显示在ActionBar中!
@android:color/holo_橙色_深色
44dp
以及我的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>
此字符串未显示在ActionBar中!
这行不通。应使用清单中的活动标签字段或通过访问活动中的actionbar对象来设置actionbar标题

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

 <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>

此字符串将显示在操作栏中!
@android:color/holo_橙色_深色
44dp
旧答案

要更改actionbar标题()的文本样式,需要使用新样式:

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

@android:color/holo_橙色_深色
44dp
并参考您的actionbar样式

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

@style/Text.ActionBar

有关可以在actionbar中设置主题的样式的更多信息,请查看文档。

我可以使用下面的代码执行类似的操作。PS-我使用了Appcompat,但由于您使用的是ApI 16,因此可以使用当前的ActionBar本身

<!-- general styles for the action bar -->
<style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar">
    <item name="android:titleTextStyle">@style/TitleTextStyle</item>
    <item name="android:background">@drawable/actionbar_background</item>
</style>

<!-- action bar title text -->
<style name="TitleTextStyle"  parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">@color/actionbar_text</item>
    <item name="android:textSize">100sp</item>
</style>

<!-- Application theme. -->
<style name="AppTheme" parent="AppCompatTheme">

    <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    <item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

@样式/标题文本样式
@可绘制/操作栏\u背景
@颜色/操作栏\文本
100便士
@样式/MyActionBar

您使用的是ActionBar兼容版本(可用于旧版本)吗?