我正在创建一个具有Facebook登录功能的应用。主屏幕有两个片段,根据登录状态显示。如果您尚未登录,则会显示一个带有登录按钮的主屏幕,其中没有操作栏。如果用户已登录,则“主要活动”将显示欢迎页面,其中包含操作栏。我知道要在活动中隐藏操作栏,我们可以将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();
}
}
答案 0 :(得分:1)
您可以隐藏并显示操作栏
getSupportActionBar().hide();
getSupportActionBar().show();
答案 1 :(得分:0)
public class MyFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
((YourActivity)getActivity()).getSupportActionBar().hide();
}
}