有点小激动 一天发布了两条博客 嘻嘻嘻 开淦
这次主要是记录一个小问题 分享一哈自己的解决方案(还能有什么nb的办法 主要是百度)
这次的问题 ,主要就是两个框架一起使用之后的问题
一个是:
PickerView 选择器
链接奉上: PickerView
这是一个开源库 果然大佬就是大佬 就是刘辟
另一个是:
ImmersionBar 沉浸式状态栏 极力推荐 很好用 方方面面的
链接奉上:ImmersionBar
我们会发现就是这块会遇到问题,当使用选择器弹出时顶部的状态栏没有被盖掉
接下来上 源码
/**
* 设置显示样式为Dialog,以此适配虚拟导航栏遮挡问题,并设置阴影样式
* (使用.setDecorView((ViewGroup)getWindow().getDecorView().findViewById(android.R.id.content))解决了遮挡的问题,但是状态栏却没有被阴影盖住)
* @param pvTime
* @return
*/
private static TimePickerView getTimePickerView(TimePickerBuilder pvTime)
{
pvTime.isDialog(true);// 显示为对话框样式
TimePickerView pickerView = pvTime.build();
Dialog mDialog = pickerView.getDialog();
if (mDialog != null)
{
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.BOTTOM);
params.leftMargin = 0;
params.rightMargin = 0;
pickerView.getDialogContainerLayout().setLayoutParams(params);
Window dialogWindow = mDialog.getWindow();
if (dialogWindow != null)
{
dialogWindow.setWindowAnimations(R.style.picker_view_slide_anim);//修改动画样式
dialogWindow.setGravity(Gravity.BOTTOM);//改成Bottom,底部显示
dialogWindow.setDimAmount(0.3f);// 设置透明度
}
}
return pickerView;
}
我这块的需求是要用户选择生日 大家看各自的需求相应调整
这段代码也是在 PickerView Wiki文档 然后 在大家提出的问题 里面找到的 我在这里主要就是记录一下 以免下次遇到
到这里 上述的问题就解决了 备注 : 啥也不是