我可以在片段中构建操作栏吗?
Posted
技术标签:
【中文标题】我可以在片段中构建操作栏吗?【英文标题】: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);
【问题讨论】:
【参考方案1】:您可以像这样访问Fragments
中的ActionBar
:
getActivity().getActionBar()
是的,你可以这样做:
ActionBar actionBar = getActivity().getActionBar();
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayUseLogoEnabled(false);
【讨论】:
以上是关于我可以在片段中构建操作栏吗?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 ListView 显示在一个片段中而不是另一个片段中?