Skip to content

常见问题

xiaosongzeem edited this page Oct 29, 2019 · 18 revisions

如何更优雅地提Issue:

在提交issue之前,我们应该先查询是否已经有相关的issue,避免重复提问。另外,提交issue时,我们需要写明issue的原因。对于模糊不清的提问,可能将不会得到回复。工作忙碌,个人时间实在有限,有时没办法及时回复,还望见谅。

请参考:提问的智慧。

Q1. 如何去掉3D效果只显示普通扁平视图?

在4.x版本可能会考虑出一个扁平化的WheelView来支持。目前暂时需要可使用1.x版本,或者自行在最新版本将WheelView 关于圆弧相关的计算给去掉以实现扁平效果。

Q2.OptionsPicker如何支持省市区三级联动异步加载?

联动情况下,动态请求网络会因为延时性造成滑动不流畅,及Loading等待、卡顿等问题,因此需要一次性加载数据进去。 若需要在切换选项时才请求数据,建议设置为三级不联动,然后稍加修改源码,在切换选项时,回调监听来实现该功能。

Q3. TimePicker 时分秒的限制问题?

目前只做了三级联动,即年月日是联动的。时分秒是三个不联动的选项。若需要支持时分秒联动,则变成了六级联动。数据量会很庞大。若自己业务有需求需要限制时分秒,则可自行下载源码参考年月日的逻辑扩展该库功能。

Q4. PickerView如何显示在Dialog上层避免被挡住?

目前有两种解决办法:

  1. 构建时设置isDialog(true)。
  2. 通过setDecorView方法 指定它的容器布局即可。

具体可参考Issue 里面 #279 这个提问: #279

Q5. 如何解决虚拟按键挡住PickerView?

解决办法:

 .setDecorView((ViewGroup) getWindow().getDecorView().findViewById(android.R.id.content))
 .build

setDecorView()传递的参数可以是自己页面中的ViewGroup来指定PickerView的父控件(即被添加到哪个控件去)。

Q6. 如何修改WheelView显示的条目数?

可通过setItemVisibleCount 方法设置(建议设置为奇数如3/5/7,若设置偶数,最大可显示Item数会+1 自适应为奇数。)

Q7. 为什么用OptionsPicker 显示出的是类对象的路径?

实体类需要 实现 IPickerViewData 接口 ,方法里面return 填我们需要显示的内容,类型要求为String类型。

Q8. 单位居中显示问题

  1. isCenterLabel 设置成false ,这样显示的单位是添加在内容后面。
  2. 用自定义布局,先把默认的单位给隐藏,然后在xml布局中自己添加显示单位的TextView ,调整位置并让它居中。
  3. 修改WheelView源码,调整dradText的x轴起始位置。

Q9. 时间选择器,月份显示有误差?

注意当我们进行设置时间的启始位置时需要特别注意月份的设定原因Calendar组件内部的月份是从0开始的即0-11代表1-12月份
错误使用案例startDate.set(2013,1,1);  endDate.set(2020,12,1);
正确使用案例startDate.set(2013,0,1);  endDate.set(2020,11,1);

Q10. ToolBar、ActionBar 没有被遮盖的问题

原因:布局是添加到 android.R.id.content 这个rootView 的,它不包含标题栏。因此若需要将标题栏也给遮盖起来的话,在build()方法之前调用 setDecorView方法,自定义设置一下pickerView容器即可,代码如下:

.setDecorView((ViewGroup) getWindow().getDecorView())
.build();

更多问题可直接搜索issue区,或者提问~ 欢迎提出反馈意见 或者好的建议, 感谢各位支持~