我正在为应用程序创建框架并希望隐藏登录活动的操作栏。该应用程序将完全由片段组成,因为它们很棒。
我可以很好地隐藏我的活动的操作栏,但是每次我运行应用程序时,我都会看到我膨胀的空白片段和默认操作栏大约 2 秒钟,然后它才能成功膨胀登录片段。
关于我应该如何/在哪里隐藏操作栏(同时保留我的框架)以阻止这种情况发生的任何想法?
登录活动.java
public class LoginActivity extends SingleFragmentActivity {
@Override
protected Fragment createFragment() {
return new LoginFragment();
}
}
SingleFragmentActivity.java
public abstract class SingleFragmentActivity extends ActionBarActivity {
protected abstract Fragment createFragment();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(this instanceof LoginActivity){
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
}
setContentView(R.layout.activity_fragment);
FragmentManager fm = getSupportFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.fragmentContainer);
if (fragment == null) {
fragment = createFragment();
fm.beginTransaction()
.add(R.id.fragmentContainer, fragment)
.commit();
}
}
}
登录片段.java
public class LoginFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_login, parent, false);
return v;
}
}
我最初有 SingleFragmentActivity 扩展 FragmentActivity 并在 if 语句中这样做:
requestWindowFeature(Window.FEATURE_NO_TITLE);
但我有一种感觉,这只是做同一件事的不同方式
编辑:
我也尝试将 fragment_activity 设置为使用不同的样式,但它似乎也不起作用:
<style name="NoActionBar" parent="Widget.AppCompat.ActionBar">
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
</style>