onHoverListener不能在Android的工作 [英] onHoverListener doesn't work in Android

查看:1796
本文介绍了onHoverListener不能在Android的工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Android的文件中,它提到支持悬停事件,因为4.0(​​即API级别14以上)。但不知何故,这是行不通的。即使我尝试了样品code在ApiDemo,这与Android的样品,但没有奏效。 我当前设备的是Android 4.0.4。我应该升级到4.2.2?

样品code是什么如下。 你有没有一个解决方案呢?非常感谢。

code:


  View容器= findViewById(R.id.container);
    container.setOnHoverListener(新View.OnHoverListener(){
        @覆盖
        公共布尔onHover(视图V,MotionEvent事件){
            开关(event.getAction()){
                案例MotionEvent.ACTION_HOVER_ENTER:
                    mMessageTextView.setText(Hover.this.getResources()的getString(
                            R.string.hover_message_entered_at,
                            event.getX(),event.getY()));
                    打破;
                案例MotionEvent.ACTION_HOVER_MOVE:
                    mMessageTextView.setText(Hover.this.getResources()的getString(
                            R.string.hover_message_moved_at,
                            event.getX(),event.getY()));
                    打破;
                案例MotionEvent.ACTION_HOVER_EXIT:
                    mMessageTextView.setText(Hover.this.getResources()的getString(
                            R.string.hover_message_exited_at,
                            event.getX(),event.getY()));
                    打破;
            }
            返回false;
        }
    });
 


解决方案

悬停需要从硬件支持。可能支持它的唯一的事情就是一个手写笔。它不会只用你的手指工作。

In android document, it mentions supporting the "hover" event since 4.0 (ie. API level 14 and up). But somehow, it doesn't work. Even I tried out the sample code in ApiDemo, which is from Android Sample, it didn't work. My current device is Android 4.0.4. Should I upgrade it to 4.2.2?

Sample code is something as below. Did you have a solution to it? Thanks a lot.

Code:


View container = findViewById(R.id.container);
    container.setOnHoverListener(new View.OnHoverListener() {
        @Override
        public boolean onHover(View v, MotionEvent event) {
            switch (event.getAction()) {
                case MotionEvent.ACTION_HOVER_ENTER:
                    mMessageTextView.setText(Hover.this.getResources().getString(
                            R.string.hover_message_entered_at,
                            event.getX(), event.getY()));
                    break;
                case MotionEvent.ACTION_HOVER_MOVE:
                    mMessageTextView.setText(Hover.this.getResources().getString(
                            R.string.hover_message_moved_at,
                            event.getX(), event.getY()));
                    break;
                case MotionEvent.ACTION_HOVER_EXIT:
                    mMessageTextView.setText(Hover.this.getResources().getString(
                            R.string.hover_message_exited_at,
                            event.getX(), event.getY()));
                    break;
            }
            return false;
        }
    });


解决方案

Hovering requires support from the hardware. The only thing likely to support it is a stylus. It won't work with just your finger.

这篇关于onHoverListener不能在Android的工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆