【发布时间】:2015-12-18 15:46:26
【问题描述】:
我正在创建一个具有 Facebook 登录功能的应用程序。主屏幕有两个根据登录状态显示的片段。如果您未登录,则会显示一个带有登录按钮的主屏幕,其中没有操作栏。如果用户已登录,Main Activity 会显示欢迎页面,其中包含操作栏。我知道要在活动中隐藏操作栏,我们可以将android:theme="@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen" 添加到该特定活动中。但我不希望 ActionBar 在整个活动中消失,因为我必须在另一个片段上显示它。
我的问题是:如何在用户处于登录状态时显示操作栏,并显示欢迎屏幕片段?
这是我不想要操作栏的登录片段中的代码:
public class LoginFragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.login,
container, false);
//getActivity().getActionBar().hide();
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
getActivity().getActionBar().hide();
}
}
我想要Action BAr的Welcome Fragment的代码如下所示:
public class WelcomeFragment extends Fragment{
private static final String TAG = "WelcomeFragment";
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View view = inflater.inflate(R.layout.welcome,
container, false);
//getActivity().getActionBar().show();
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
getActivity().getActionBar().show();
}
}
【问题讨论】:
-
我尝试从各自的片段中调用 getActivity().getActionBar.show() 和 getActivity().getActionBar.hide() 。但这也不起作用。我在两个片段中都看到了操作栏。
标签: android facebook android-fragments android-actionbar