今天UI给的新设计稿,要求状态栏透明。透明化的状态看效果还挺不错。大概是这个样子(请忽略这张难看的背景,只是一个Demo):
方法呢,也很简单,onCreate 里一行代码:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
同时。因为输入框都在底部,最下面还有一个按钮,所以为了用户体验,需要保证的是输入法弹出后,三个控件都向上移。就是这个效果:
这个一般来说很简单的,只要这样在AndroidManifest中的Activity下加一条这个属性就好了:
<activity
android:name=".activity.LoginActivity"
android:label="@string/title_activity_message"
android:windowSoftInputMode="adjustResize|stateHidden">
</activity>
但闹心的问题来了。在没有修改状态栏之前,是没有问题的。可是设置标题栏为透明后,就变成这样了: