2014-02-01 2 views
21

Как скрыть панель действий для определенного фрагмента? Я искал ответ в stackoverflow, но я нашел решение, которое включает в себя отключить панель действий для основной активности в манифесте android. Поскольку мне нужно отключить панель действий для одного фрагмента, это не вариант. Любые идеи? Благодарю.Как скрыть панель действий для фрагмента?

EDIT: мин уровень API 7, шерлок не используется

+0

Вы можете разместить код из основной и других мероприятий? –

ответ

1

Вы пробовали getActivity().getSupportActionBar().hide() в onCreate() фрагмента вы хотите, ActionBar быть скрыты в?

Я предполагаю, что вы не используете ActionBarSherlock.

8

getActionBar().hide() или getSupportActionBar().hide() (при использовании ActionBarCompat v7 lib). С уважением

+0

с использованием 'android.support.v7.app.ActionBar'getting error (не может разрешить метод) – user3178137

+0

, но [ссылка на документы] (http://developer.android.com/reference/android/support/v7/app/ActionBar. html # hide()) –

+3

getActivity(). getActionBar(). hide(); –

5

Скрыть действиеБар, используя это в нужном фрагменте.

getActivity().getSupportActionBar().hide(); 

И показать действиеБар с этим в следующем фрагменте.

getActivity().getActionBar().show(); 
30

Если вы используете AppCompatActivity (вы должны), то это решение, которое работает для меня:

((AppCompatActivity) getActivity()).getSupportActionBar().hide(); 

Вы можете добавить это в OnCreate(). Атрибут getActivity() возвращает фрагмент FragmentActivity, и этот метод не содержит метод getSupportActionBar(). Использование только getActionBar() дает исключение null-pointer, если у вас есть AppCompatActivity.

+1

после использования дефолтной панели действий .hide(), но все еще создано пустое пространство !! –

+0

Спасибо, человек, это сработало для меня! –

+0

Даже я столкнулся с той же проблемой. ActionBar исчезает, но создается черное пространство –

3

Положить getSupportActionBar().hide() до setContentView в Управлении, которое содержит фрагменты.

Также добавьте это: ((AppCompatActivity) getActivity()).getSupportActionBar().hide() в фрагменты перед раздуванием макета. Это работает, если вы используете этот ActionBarActivity .Это также удаляет мой запаздывает скрывается панель действий

1

Вы можете просто поместить это в свой метод Фрагмент Класс CreateView: -

View layout = inflater.inflate(R.layout.player_fragment, container, false); 
    ((AppCompatActivity) getActivity()).getSupportActionBar().hide(); 
Смежные вопросы