【问题标题】:Can I build action bar in fragment?我可以在片段中构建操作栏吗?
【发布时间】:2014-02-18 22:32:41
【问题描述】:

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

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);


}

}

【问题讨论】:

    标签: android build android-actionbar fragment


    【解决方案1】:

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

    getActivity().getActionBar()
    

    是的,你可以这样做:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-03
      • 2011-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-23
      相关资源
      最近更新 更多