嗨,我想模仿snapchat。在相机片段没有标题栏的情况下,使用:
on创建
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main)
但当我滑动到左侧片段或右侧片段时,我希望标题栏出现。
我该怎么做?
谢谢你抽出时间。
澄清:
当寻呼机切换到另一个项目或主活动切换片段时,我想显示标题栏。
我目前正在使用FragmentPagerAdapter来模拟snapchat。你从相机碎片开始,如果你向左或向右滑动/投掷,你会得到另一个碎片。片段之间的转换类似于旋转木马,不同于用另一个活动调用活动,其中活动之间的转换更像是一个弹出窗口。
不幸的是,在片段之间切换不会调用不同的onCreatehookmethod,因此我无法根据片段隐藏或显示窗口标题(我可以通过活动来实现(。所以我想知道我该如何处理碎片。
我正在使用compat v4。
我的建议是你做一些类似的事情
请参见此处:https://developer.android.com/training/system-ui/status.htmlhttp://blog.grio.com/2014/02/androids-hiding-of-the-system-bar-fixed.html
- 在Android 4.0及更低版本上隐藏状态栏
-
隐藏Android 4.1及更高版本上的状态栏
ViewPager mViewPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mViewPager.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int position) { if(position == 0 ){ showStatusBar() ; }else { hideStatusBar(); } } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { } });
}
private void hideStatusBar() { // Hide status bar getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); } private void showStatusBar() { // Show status bar getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); }
每次在FragmentPagerAdapter
中向左或向右滑动时,都可以使用actionbar
的隐藏和显示方法
样本:
getActionBar().hide(); //will hide the actionbar
getActionBar().show(); //will show the actionbar