Tim*_*Tim 8 android view detection
虽然过去曾提出过类似的问题,但似乎并没有真正得到回答,这可能是由于对所提问题的混淆.
简而言之,当手指滑过屏幕时,我想检测输入的是哪个视图.最好的例子是任何Android手机上的软键盘.当你按任意键时,它会显示为一个弹出窗口,告诉你手指下面有什么字母.如果您现在用一个手势在键盘上移动手指,当您在字母表的各个字母上移动时,会弹出各种字母.
哪种侦听器用于此类行为.我已经尝试过OnTouchListeners,但它们似乎只有当你"触摸"按钮而不是"手指过去"它们时
Button button = (Button)findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {doStuff();}
});
button.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
doStuff();
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
OnFocusChangeListener 也没有帮助.
小智 5
使用以下内容覆盖onTouch方法:
public boolean onTouch(View v, MotionEvent event)
{
LinearLayout layout = (LinearLayout)v;
for(int i =0; i< layout.getChildCount(); i++)
{
View view = layout.getChildAt(i);
Rect outRect = new Rect(view.getLeft(), view.getTop(), view.getRight(), view.getBottom());
if(outRect.contains((int)event.getX(), (int)event.getY()))
{
// over a View
}
}
}
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
6794 次 |
| 最近记录: |