2013-05-23 3 views
0

Я использую ActionBar из библиотеки ActionBarSherlock. Я могу установить цвет фона моей панели действий с помощью метода ActionBar.setBackgroundDrawable(Color). После изменения цвета фона мне позже нужно вернуть его обратно к исходному/по умолчанию ActionBar цветам.Как получить цвет фона по умолчанию в ActionBarSherlock?

Как определить, какой был цвет оригинала/по умолчанию для ActionBar?

+0

Что еще более важно, ты совершенно уверен, что вы можете изменить '' фон ActionBarSherlock's Drawable' кратному раз? Мне не повезло с этим (из-за неопределенной памяти, я думаю, что последующие вызовы '.setBackgroundDrawable()' не имели никакого эффекта, когда я пытался). В конце концов, я просто устал от фанатизма и прибегал к тому, чтобы делать какие-нибудь умные вещи для фона для «ActionBar», просто запустив «View». – Trevor

+0

Trevor, я сделал тест, и я могу изменить цвет backgound несколько раз. –

+0

Ах, в таком случае я вернусь в свою коробку. Игнорируйте мой комментарий. – Trevor

ответ

1

В зависимости от темы, которую вы используете. Он должен быть

  • R.drawable.abs__ab_transparent_dark_holo для Theme.Sherlock
  • R.drawable.abs__ab_solid_light_holo для Theme.Sherlock.Light
  • R.drawable.abs__ab_solid_dark_holo для Theme.Sherlock.Light.DarkActionBar
+0

Спасибо за комментарий Маттиас. Знаете ли вы, есть ли способ, который я могу определить в коде, какую тему используется? –

+0

Вы можете найти ответ здесь: http://stackoverflow.com/questions/7267852/android-how-to-obtain-the-resource-id-of-the-current-theme –

-1

Не просто создайте класс модели, который будет помнить, что вы устанавливаете, и вы сможете откатываться, когда захотите.

+0

Первая настройка цвета фона выполняется библиотекой. Это цвет, которым я пользуюсь. –

Смежные вопросы