Android NumberPicker错误地处理触摸

时间:2015-07-15 15:38:20

标签: android numberpicker

我使用以下代码在相对布局中创建了NumberPicker

<NumberPicker
    android:id="@+id/numberPicker"
    android:layout_width="wrap_content"
    android:layout_height="92dp"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="5dp" />

在我的片段中,我正在使用以下代码配置NumberPicker

    final NumberPicker np = (NumberPicker) dialog.findViewById(R.id.numberPicker);
    np.setMaxValue(10);
    np.setMinValue(0);
    np.setValue(0);
    np.setWrapSelectorWheel(false);
    np.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);

这导致了NumberPicker上的大量奇怪行为,我试图确定我是否以某种方式造成了这个或者这是一个错误。

使用Nexus 7,HTC One和Panasonic Toughpad在Android 4和Android 5中会出现此问题。

  1. 有时,数字选择器上方和下方的箭头不会出现。当它们执行时,它们仅在数字选择器未达到其最小值/最大值时才起作用。如果它处于最小值/最大值,则箭头将使数字以可视方式跳转,然后返回其值。在某些情况下,会出现一个箭头而另一个箭头将不存在。
  2. 当数字选择器处于其最小值/最大值时,点击并拖动不会导致值递增/递减。相反,数字跳跃到位被我的触摸拉动,然后立即移回原位。要解决此问题,您需要向相反方向拖动然后继续运动。
  3. NumberPicker足够小时,所选数字并不总是在:backends: - yaml :yaml: :datadir: "/etc/puppet/hieradata" :hierarchy: - node/%{::fqdn} - common 的中心对齐。这会导致数字的顶部或底部被剔除。一旦开始滚动,数字就会返回到它的位置。

0 个答案:

没有答案