首页 > segmentfault android客户端隐藏标题栏的效果是怎么实现的?

segmentfault android客户端隐藏标题栏的效果是怎么实现的?

如下图(这是模拟器上截的),在5.0以上版本,怎么实现这种隐藏标题栏的效果?

我猜客户端应该也是NoActionBar的theme,并且配上了toolbar(这里是指app整体theme的设置,不是单指这个activity)。但用这种方法,我没法隐藏标题栏,即使调用requestWindowFeature(Window.FEATURE_NO_TITLE)仍然不能隐藏标题栏。

ADD 1:
我发现我对requestWindowFeature()的作用理解有错误……

如果Theme设置为NoActionBar,那么只需要

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

就可以隐藏标题栏。
另外,我猜对v19以上的android,客户端还设置了

<item name="android:windowTranslucentStatus">true</item>

使整个标题栏透明。

ADD 2:
一不小心我还发现了客户端的一个bug(版本2.9.1),

只要点击上图红框,就会报错

11-23 11:06:43.666: I/octvm_klo(9561): [am_crash][1448248003]:[13548,0,com..app,8961604,java.lang.IndexOutOfBoundsException,Invalid index -1, size is 370,ArrayList.java,255]

我猜可能是因为我的个人资料没有填全?


这个欢迎页是没有toolbar的,这个activity结束了之后就跳转到HomeActivity(有toolbar)。
这个欢迎页的代码应该类似于下面:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                        WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_guide);

把启动页单独分离成一个activity,设置NoActionBar主题应该可以的呀,不知道题主为什么还有加toolbar


【和本题无关的题外话】
惭愧,这个bug在2.9.3版本中已经修复= =!
原因是 之前一些用户没有填写自己资料里的城市选项

【热门文章】
【热门文章】