2

Я пытаюсь применить специальную тему к ActionBar в PreferenceFragment. Ниже приводится scenerio:Применение специальной темы к ActionBar в PreferenceFragment

Моего класс расширяет PreferenceFragment, в котором я добавляю предпочтение от ресов как:

addPreferenceFromResource (R.xml.myPrefs); 

Кроме того, я написал:

ActionBar a = getActivity().getActionBar(); 
bar.setNavigationMode (ActionBar.NAVIGATION_MODE_TABS); 

Теперь я хочу, чтобы применить мои собственные тему, которую я определил в styles.xml этой панели действий. В настоящее время высота панели действий меньше, чем вид табуляции, из-за которого изображение становится обрезанным.

Я пробовал искать, но не смог найти решение моей проблемы.

  1. "Set theme for a Fragment"
  2. https://groups.google.com/forum/#!topic/android-developers/GX_gOAN2nmM

С 1. и 2. ссылки выше, я узнал, что:

final Context contextThemeWrapper = new ContextThemeWrapper(getActivity(),R.style.yourCustomTheme); 

// clone the inflater using the ContextThemeWrapper 
LayoutInflater localInflater = inflater.cloneInContext(contextThemeWrapper); 

// inflate the layout using the cloned inflater, not default inflater 
return localInflater.inflate(R.layout.yourLayout, container, false); 

Но это тоже не сработало.

Любая помощь очень ценится.

ответ

2

Наконец-то нашли решение моей проблемы. Похоже, было простое решение, в то время как я запутался в сложные вещи.

Я только что добавил следующую строку к onCreate() моего класса PreferenceFragment ... и все стало прекрасно!

getActivity().setTheme (R.style.myCustomTheme); 

Надеюсь, что это поможет кому-то, кто может столкнуться с такой же проблемой! :)

+0

Разве это не отменяет тему для всей деятельности? Это для меня. IE, когда я меняю фрагменты, тема отличается, и мне пришлось бы ее снова изменить. – lostintranslation

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