android - ActionBar 的问题

标签 android android-actionbar

我在使用操作栏 Activity 的 V7 支持版本时遇到两个问题。

这就是我的应用程序的样子:

enter image description here

这就是我想要的样子:

enter image description here

第一个问题是标题之外的文本显示为黑色而不是灰色。

我正在使用“显示主页向上”启用选项,但您看不到箭头,因为它是黑色背景上的黑色,如上所示(如果您仔细观察,箭头就在那里!)

这是我用于操作栏的样式 - 我相当确定我在这里做错了什么,但我不知道是什么:

<style name="PropertyCrossTheme" parent="@style/Theme.AppCompat.Light">
    <!-- Any customizations for your app running on pre-3.0 devices here -->
    <item name="android:actionBarStyle">@style/ActionBar</item>
    <item name="android:actionMenuTextAppearance">@style/ActionBar.MenuTextStyle</item>
</style>
<style name="ActionBar" parent="android:style/Widget.Holo.Light.ActionBar">
    <item name="android:background">@drawable/actionbar_background</item>
    <item name="android:titleTextStyle">@style/ActionBar.TitleText</item>
</style>
<style name="ActionBar.TitleText" parent="@android:style/TextAppearance">
    <item name="android:textColor">@android:color/white</item>
</style>    
<style name="ActionBar.MenuTextStyle" parent="android:style/TextAppearance">
    <item name="android:textColor">@android:color/white</item>
</style>

第二个问题是我的添加到收藏夹/从收藏夹中删除选项总是被插入隐藏菜单。

这是我的菜单 xml:

<item android:id="@+id/favourites_add_item" android:title="@string/favourites_add"
    android:icon="@drawable/nostar" android:showAsAction="always|withText" />
<item android:id="@+id/favourites_remove_item" android:title="@string/favourites_remove"
    android:icon="@drawable/star" android:showAsAction="always|withText" />

在代码中,我添加了这样的菜单(我知道它是 c# - 我正在使用 Xamarin,但我不认为这是问题的原因,所以请假装它是 java :-D):

    public override bool OnCreateOptionsMenu(IMenu menu)
    {
        MenuInflater.Inflate(Resource.Menu.favourites_toggle, menu);
        return true;
    }
    public override bool OnPrepareOptionsMenu(IMenu menu)
    {
        IMenuItem addItem = menu.FindItem(Resource.Id.favourites_add_item);

        addItem.SetVisible(!IsFavourited);

        IMenuItem removeItem = menu.FindItem(Resource.Id.favourites_remove_item);
        removeItem.SetVisible(IsFavourited);
        return true;
    }

谢谢

罗斯

最佳答案

在菜单 xml 中,尝试删除“|withText”,所以它看起来像:

<item android:id="@+id/favourites_add_item" android:title="@string/favourites_add"
android:icon="@drawable/nostar" android:showAsAction="always" />
<item android:id="@+id/favourites_remove_item" android:title="@string/favourites_remove"
android:icon="@drawable/star" android:showAsAction="always" />

关于android - ActionBar 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21137383/

相关文章:

Android:确定ActionBar Tab的高度

android - 使用 showAsAction ="ifRoom"未在 ActionBar 中显示操作项

java - 滚动 ListView 时图像消失(Android Studio)

android - 用户登录直接从应用程序或从应用程序到 Web 界面写入数据库?

java - 使用操作栏发送数据 [Android]

android - 仅隐藏滚动而不是操作栏选项卡上的操作栏

Android uper.android.view.inflate 异常

android - 如何在 android 中以编程方式将音频 .mp3 转换为 .m4a

android - getUidTxBytes(int uid) 在 android 6.0 中总是返回 0

Javascript 获取响应截止