2014-01-27 2 views
1

У меня есть приложение, где я создаю панель действий в классе активности. Могу ли я построить его в фрагменте? Вот мой код для панели действий в действии.Могу ли я построить панель действий в фрагменте?

public class StartActivity extends Activity { 

    public static Context appContext; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 


    //ActionBar 
    ActionBar actionBar = getActionBar(); 
    actionBar.setDisplayHomeAsUpEnabled(false); 
    actionBar.setDisplayShowCustomEnabled(true); 
    actionBar.setDisplayShowHomeEnabled(false); 
    actionBar.setDisplayShowTitleEnabled(false); 
    actionBar.setDisplayUseLogoEnabled(false); 




    View view = LayoutInflater.from(actionBar.getThemedContext()).inflate(R.layout.actionbar, null); 
    ActionBar.LayoutParams layoutParams = new ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT, ActionBar.LayoutParams.WRAP_CONTENT); 
    view.setLayoutParams(layoutParams); 
    actionBar.setCustomView(view); 

Как его построить в виде фрагмента? Является ли это возможным ? Что-то вроде этого ?

public class VideoFragment extends Fragment{ 
    @Override 
    public View onCreateView(LayoutInflater inflater, 
     ViewGroup container, Bundle savedInstanceState) { 

     ActionBar actionBar = getActionBar(); 
     actionBar.setDisplayHomeAsUpEnabled(false); 
     actionBar.setDisplayShowCustomEnabled(true); 
     actionBar.setDisplayShowHomeEnabled(false); 
     actionBar.setDisplayShowTitleEnabled(false); 
     actionBar.setDisplayUseLogoEnabled(false); 


     View view = LayoutInflater.from(actionBar.getThemedContext()).inflate(R.layout.actionbar, null); 
     ActionBar.LayoutParams layoutParams = new ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT, ActionBar.LayoutParams.WRAP_CONTENT); 
     view.setLayoutParams(layoutParams); 
     actionBar.setCustomView(view); 


     return inflater.inflate(
     R.layout.mein_fragment, container, false); 


} 

} 

ответ

1

Вы можете получить доступ к ActionBar в вашем Fragments так:

getActivity().getActionBar() 

Так что да, вы можете сделать это:

ActionBar actionBar = getActivity().getActionBar(); 
actionBar.setDisplayHomeAsUpEnabled(false); 
actionBar.setDisplayShowCustomEnabled(true); 
actionBar.setDisplayShowHomeEnabled(false); 
actionBar.setDisplayShowTitleEnabled(false); 
actionBar.setDisplayUseLogoEnabled(false); 
+1

Woow человек, спасибо: D –

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