У меня возникли две проблемы с использованием версии поддержки виртуальной машины V7.Проблемы с ActionBar
Это то, что мое приложение выглядит следующим образом:
И это, как я хочу, чтобы это выглядело:
Первые проблемы в том, что текст отдельно от заголовок показывает черный вместо серого.
Я использую Display Home Как Up Enabled вариант, но вы не можете увидеть стрелку, потому что его черный на черном фоне, как показано выше (стрелка есть, если вы посмотрите очень трудно!)
Это стиль, я использую для ActionBar - Я совершенно уверен, что я делаю что-то здесь не так, но я не могу понять, что:
<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>
Второй вопрос заключается в том, что мой добавить в избранное/remove из любимой опции всегда выталкивается в скрытое меню.
Это мое меню 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;
}
Благодаря
Росс
Вы должны изменить тему на @ стиль/Theme.AppCompat.Light.DarkActionBar. В противном случае чертежи будут более темными, чтобы быть на светлом ActionBar, а светло-серый для темного ActionBar. – Kiliman