我有一个 ViewFlipper,它包含一个填充父级的 TextEdit。当我在 TextEdit 上滑动时,它会弹出键盘以输入文本,但我想在滑动时翻转视图。我怎样才能实现这个功能?我应该为 EditText 实现手势检测还是有办法忽略或将触摸事件传递给父级?
谢谢你。
我有一个 ViewFlipper,它包含一个填充父级的 TextEdit。当我在 TextEdit 上滑动时,它会弹出键盘以输入文本,但我想在滑动时翻转视图。我怎样才能实现这个功能?我应该为 EditText 实现手势检测还是有办法忽略或将触摸事件传递给父级?
谢谢你。
你试过这样吗
EditText text = (EditText) findViewById(R.id.textname);
text.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (v.getId() == R.id.textname) {
v.getParent().requestDisallowInterceptTouchEvent(true);
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_UP:
v.getParent().requestDisallowInterceptTouchEvent(false);
break;
}
}
return false;
}
});
试试这个链接ViewFlip
如果您将 EditText 视图的布局设置为 Match_Parent,那么除了视图之外就不可能触摸,因此它会自动打开键盘。您可以做的是最小化 EditText 并将其居中在 ViewFlipper 中,因此除了视图之外还有一点位置。另一种解决方案是在 ViewFlippers Gesture Event 上禁用 EditText,并在事件完成后启用它。但我没有尝试过,这只是一个想法。