我可以在片段中构建操作栏吗?

时间:2014-01-27 21:15:39

标签: android build android-actionbar fragment

我有应用程序,我在活动类中构建操作栏。我可以用片段构建它吗?这是我在活动中操作栏的代码。

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 个答案:

答案 0 :(得分:1)

您可以像这样访问ActionBar中的Fragments

getActivity().getActionBar()

所以是的,你可以这样做:

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