如何检查,如果我已经触及一个模式活动的内部还是外部? [英] How to check if I have touched inside or outside of a modal Activity?

查看:91
本文介绍了如何检查,如果我已经触及一个模式活动的内部还是外部?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用下面的风格和定义一个模式的活动:

 <样式名称=Theme.TransparentD0父=安卓主题>
        <项目名称=机器人:windowIsTranslucent>真< /项目>
        <项目名称=机器人:windowBackground> @色/ semi_transparentD0< /项目>
        <项目名称=机器人:windowContentOverlay> @空< /项目>
        <项目名称=机器人:windowNoTitle>真< /项目>
        <项目名称=机器人:windowIsFloating>真< /项目>
        <项目名称=机器人:backgroundDimEnabled>假< /项目>
    < /风格>
 

如何检查是否用户触摸里面还是我的活动之外?

解决方案

  @覆盖
公共布尔的onTouchEvent(MotionEvent事件){

    。最终诠释宽度= getWindow()getDecorView()的getWidth();
    最终诠释身高= getWindow()getDecorView()的getHeight()。
    最终诠释X =(INT)event.getX();
    最终诠释Y =(INT)event.getY();

    如果(X大于0&安培;&安培y与其所连接0安培;&安培; X  - 其中,宽度&安培;&安培; Y&所述;高度)
    {
        Log.i(的onTouchEvent,内部);
    }
    其他
    {
        Log.i(的onTouchEvent,外);
    }
    返回super.onTouchEvent(事件);
}
 

I use the following style and defined a modal activity:

<style name="Theme.TransparentD0" parent="android:Theme">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@color/semi_transparentD0</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:backgroundDimEnabled">false</item>
    </style>

How to check if user has touched inside or outside of my Activity?

解决方案

@Override
public boolean onTouchEvent(MotionEvent event) {

    final int width = getWindow().getDecorView().getWidth();
    final int height = getWindow().getDecorView().getHeight();
    final int x = (int) event.getX();
    final int y = (int) event.getY();

    if (x > 0 && y > 0 && x < width && y < height)
    {
        Log.i("onTouchEvent", "Inside");
    }
    else
    {
        Log.i("onTouchEvent", "Outside");
    }
    return super.onTouchEvent(event);
}

这篇关于如何检查,如果我已经触及一个模式活动的内部还是外部?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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