我有一个包含Scrollview的对话框,其中包含一个带有两个TimePickers的布局。
时间选择器是较新的时间选择器,ICS中有什么。
问题在于,当您通过拖动滚轮或轻弹来改变时间时,它们似乎会争取焦点。它会稍微改变时间,然后布局会滚动。
有什么想法吗? 提前谢谢。
答案 0 :(得分:41)
使用Holo主题时遇到了同样的问题,这是我找到解决方案的地方:https://groups.google.com/forum/?fromgroups#!topic/android-developers/FkSfJI6dH8w
您必须实现自定义DatePicker或TimePicker并覆盖以下方法:
@Override
public boolean onInterceptTouchEvent(MotionEvent ev)
{
if (ev.getActionMasked() == MotionEvent.ACTION_DOWN)
{
ViewParent p = getParent();
if (p != null)
p.requestDisallowInterceptTouchEvent(true);
}
return false;
}
答案 1 :(得分:1)
由于来自Klemens Zleptnig的链接已断开,因此这里是一个完整的示例。此修复也有助于TabLayout的滚动。我排除了TimePicker顶部大数字周围的区域,因为它们仍然不需要滚动事件。
xml:
def prob_given_positive (prior, false_positive_rate, true_positive_rate):
result = [] ## empty list
pdgp = prior
for i in range(10+1):
pdgp = (true_positive_rate * pdgp) / (false_positive_rate)
result.append(pdgp)
return(result)
print(prob_given_positive(0.001, 0.08, 1))
java:
<com.name.app.MyTimePicker
android:id="@+id/timePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
.../>