必须先调用requestFeature(),然后才能在Andoid中的片段中添加内容

时间:2018-07-14 11:22:21

标签: android android-fragments fragment android-fragmentactivity

我想在活动中显示没有标题栏的片段。在放大视图之前,我还添加了不带标题栏的请求窗口。这没有发生,并且显示为

.fade-slide-up-enter-active {
  transition: all 0.5s ease;
}
.fade-slide-up-leave-active {
  transition: all 0.5s ease;
}
.fade-slide-up-enter, .fade-slide-up-leave-to {
  transform: translateY(40px);
  opacity: 0;
}

我的片段代码为:

requestFeature() must be called before adding content
    at com.android.internal.policy.impl.PhoneWindow.requestFeature(PhoneWindow.java:318)
    at com.wishkart.wishkart.dialogFragment.HomeProductDialogFragment.onCreateView(HomeProductDialogFragment.java:30)

1 个答案:

答案 0 :(得分:0)

问题在于调用SetContentView时已经添加了视图,该视图发生在片段中的onCreateView之前。解决方案是确保在调用setContentView之前请求FEATURE_NO_TITLE。

在封闭活动中:

timers.unenroll

您还可以将其隐藏在片段中,如下所示:

@Override
protected void onCreate(
final Bundle savedInstanceState)
{
  super.onCreate(savedInstanceState);

  // Hide the Title bar of this activity screen
  getWindow().requestFeature(Window.FEATURE_NO_TITLE);

  setContentView(R.layout.main);
  ...
}

或者如果不使用支持库,则只需简单地“ getActivity()。getActionBar()”。

注意:调用“ show()”以还原ActionBar。

但是,如果您要用代码进行操作,我建议您在活动中进行操作。

但是隐藏栏的最易维护的框架友好方法是使用样式,而不是在代码中完成:

Hiding the ActionBar with a theme