android - 我可以在 fragment 中构建操作栏吗?

标签 android build android-actionbar fragment

我有一个在 Activity 类中构建操作栏的应用程序。我可以在 fragment 中构建它吗?这是我在 Activity 中的操作栏代码。

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

如何在 fragment 中构建它?是否可以 ?是这样的吗?

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


}

}

最佳答案

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

getActivity().getActionBar()

是的,你可以这样做:

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

关于android - 我可以在 fragment 中构建操作栏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21391834/

相关文章:

gradle - Gradle构建问题:在Caffeine Simulator中无法获取未知属性 'libraries'

android - AOSP ActivityManager 未运行

android - 停止 Android SyncAdapter 同步

java - 如何在 gradle 构建中有许多任务配置?

android - 项目被添加到 "overflow menu"而不是 ActionBar

android - 折叠操作栏,但仅在 RecyclerView 完全显示第一项时显示

android - 哪里有关于何时何地使用每个操作栏图标的指南?

android - 进度条传递 float 参数

java - android微调器更改字体字体

asp.net-mvc - 加速visual studio 2010构建asp.net mvc