当我使用 openSession 方法启动登录/注册 Facebook 活动时,应用程序标题栏(我们正在使用自定义标题栏)消失并出现另一个标题栏。有没有办法为新活动设置自定义栏?
我调用 Facebook 授权的方式:
fb.openSession(this, new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
Logger.d(LOGTAG, "Session moved to state " + state.name());
if (null == exception) {
mFacebookSession = session;
switch (state) {
case CLOSED:
case CLOSED_LOGIN_FAILED:
mLoginProgressDialog.dismiss();
Toast.makeText(FacebookLoginActivity.this, "Login failed. Verify login and password",
Toast.LENGTH_LONG).show();
break;
case OPENED:
case OPENED_TOKEN_UPDATED:
mFacebookSession.removeCallback(this);
FacebookServer.getInstance(getApplicationContext()).setSession(mFacebookSession);
FacebookServer.getInstance(getApplicationContext()).getUserFacebookId(
new FacebookLoginActivityUserIDCallback());
break;
case OPENING:
break;
default:
mLoginProgressDialog.dismiss();
break;
}
} else {
exception.printStackTrace();
}
}
});
我们在调用上述方法的Activity的onCreate()方法中设置自定义标题栏:
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.facebook_login_activity);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.app_title_bar);
下图显示了问题所在: