创建圆形的 ImageView,因此单击仅适用于圆形区域 android

2024-06-14

您好,我正在创建 tabla 应用程序,

例如

它不应该在圆形之外响应,但 ImageView 是矩形,因此它正在响应

我相信你能理解这个问题

ImageView 是矩形,但它的图像是圆形的,但我只想检测圆形图像上的点击...


感谢您的所有支持,基于您的支持,我通过以下方式完成了工作,效果非常好

ImageView imgView = (ImageView) findViewById(R.id.imageView1);
        imgView.setOnTouchListener(new View.OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {

                //CIRCLE :      (x-a)^2 + (y-b)^2 = r^2 
                float centerX, centerY, touchX, touchY, radius;
                centerX = v.getWidth() / 2;
                centerY = v.getHeight() / 2;
                touchX = event.getX();
                touchY = event.getY();
                radius = centerX;
                System.out.println("centerX = "+centerX+", centerY = "+centerY);
                System.out.println("touchX = "+touchX+", touchY = "+touchY);
                System.out.println("radius = "+radius);
                if (Math.pow(touchX - centerX, 2)
                        + Math.pow(touchY - centerY, 2) < Math.pow(radius, 2)) {
                    System.out.println("Inside Circle");
                    return false;
                } else {
                    System.out.println("Outside Circle");
                    return true;
                }
            }
        });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建圆形的 ImageView,因此单击仅适用于圆形区域 android 的相关文章

  • 接下来查看 id 作为 android 中的自定义属性

    对于我的自定义视图 我还定义了一个自定义属性来保留视图的 id 其格式为 参考 在layout xml中它的定义如下 非常类似于android layout below attr
  • 如何更改Android Studio中的编译版本?

    我总是使用 eclipse 来构建 android 项目 当我使用eclipse启动一个新项目时 我可以选择编译版本 但是在Android Studio中 当我启动新模块时 我只能选择最小版本 我试图改变compileSdkVersion
  • 无法运行 ActionBarSherlock

    我有一个 2 2 android 项目 我想添加 ActionBarSherlock 当我运行我的项目时 我收到此错误 C Users vitaly Downloads ActionBarSherlock 4 2 0 ActionBarSh
  • Android:删除整个数据库

    我想删除由我的应用程序创建的完整数据库 你知道有什么adb命令或者android语句可以做到这一点吗 您可以运行命令 adb s emulator 5554 shell or whatever port you use cd data da
  • 毕加索不在磁盘上缓存图像

    我必须使用自定义 OkHttpClient 以便我可以向图像请求添加标头 问题是毕加索不会因此而在磁盘上缓存任何图像 我用过setIndicatorsEnabled true 检查缓存 我只看到红色指示器 当我使用默认的 OkHttpDow
  • Facebook Like 按钮重定向到 Android 中的 Facebook 网站

    我正在开发类似 facebook 的按钮来与我的应用程序集成 这是从开发人员 facebook com 复制的 html 代码 div div
  • 如何设置 MediaCodec 创建的编码器缓冲区大小

    我正在尝试使用 Nexus 来测试 Mediacodec API 的编码 我可以看到编码器提供的inputBuffers是119040 通过记录inputBuffers capacity 但帧的大小 即输入 是 460800 我收到错误消息
  • 在android中添加音频到视频

    我想开发一个可以录制视频 mp4 的android应用程序 然后我的资源文件夹中有一些音频文件 mp3 我想将其添加到视频的末尾 所以最终的效果就像首先播放视频 在视频结束时会听到添加的音频 我该怎么做 合并具有不同音频编解码器的文件并不容
  • Android 本机崩溃从 /system/framework/arm/boot.oat 启动

    最近在 Google Play 中更新我的应用程序后 我开始收到大量崩溃报告 所有这些报告都来自搭载 Android 5 的三星设备 较低的 Android 版本可以正常工作 其他制造商的 Android 5 设备也可以正常工作 我没有任何
  • 无法在 Android Studio 中将项目迁移到 Gradle

    我有一个项目已经在 Android Studio 中运行 在 Android Studio 中打开项目后 我收到消息 将项目迁移到 Gradle 该项目不使用 Gradle 构建系统 我们建议您迁移到使用 Gradle 构建系统 有关迁移到
  • 通过选中/取消选中 CheckBoxPreference 来启动/停止服务

    我正在编写一个通过选中或取消选中来启动或停止服务的应用程序CheckBoxPreference我试图找到一些信息 例如示例代码或教程 但我还没有找到 如何通过选中或取消选中来启动或停止服务CheckBoxPreference这是在Prefe
  • 如何同时运行两个FOR循环

    我正在使用加速度计 第一个代码是振动检测器 代码1 if sensor SensorManager SENSOR ACCELEROMETER long curTime System currentTimeMillis long now Sy
  • Android:如何从我的主要活动中调用 findPreference()?

    我正在处理 Android 应用程序的首选项屏幕 如果前一项具有特定值 我想禁用 将其灰显 一项 我已经实现了两个类 MainActivity 和 PreferencesActivity 在 MainActivity 中我这样做 publi
  • 使用 ADB 更改 Android 壁纸?

    我想知道是否可以使用我的笔记本电脑从 ADB 更改 Android 壁纸 我不知道是否存在任何命令 或者我是否需要将图片复制到文件夹或编辑文本文件 如果可以的话 我需要通过 ADB 解决这个问题 谢谢大家 您只需要启动正确的壁纸设置意图 由
  • 我可以通过编程方式选择 Android 布局文件夹吗?

    我正在构建一个 Android 应用程序 它使用不同的布局文件夹 即 Large xlarge 等 根据屏幕尺寸调整大小 唯一的问题是 我想为用户提供一种在小屏幕布局和大屏幕布局之间切换的方法 以防他们拥有无法识别 xlarge 标签的前蜂
  • 在 Jetpack compose 中使用 ModalDrawer 从右向左打开导航抽屉

    我一直在尝试在 Jetpack compose 中实现导航抽屉 以下代码显示了一种简单的方法 Composable fun ModalDrawerSample val drawerState rememberDrawerState Draw
  • 如果没有 @Provides 注释的方法,则无法提供 Dagger AndroidInjector

    我已经通过 MVP 模式完成了我的 Android 项目 MainActivity 因此 在我的 MainPresenter 中 我想注入一个动态字符串 然后该字符串将填充 TextView 例如 class MyMainPresenter
  • 将 cookie 存储在共享首选项中

    我一直在绞尽脑汁地试图弄清楚这一点 我正在制作一个 HttpsURLConnection 并使用 java net cookiemanager 来管理我的 cookie 据我所知 无法使用 android webkit cookiemana
  • .so 文件的 objdump?需要帮助来理解消息

    我正在开发一个与流相关的本机应用程序 我在我的 c 模块中遇到了一些问题 我收到的是来自 Logcat 的一些消息 这是 Logcat 消息 INFO DEBUG 28 Build fingerprint generic sdk gener
  • Hibernate 对于 Android 应用程序来说是一种杀伤力吗? [复制]

    这个问题在这里已经有答案了 我正在为我的 Android 应用程序寻找一个好的 ORM 乍一看似乎对于移动设备我更喜欢使用更简单的东西 问题是我只是在这里假设 没有真正的证据 所以我想我应该询问社区的意见 也许有人有过这样的经历 它是一个相

随机推荐

  • 在 Flex 中,React Native 会溢出

    因此 对于上面的图像 我试图让 绿色 框包围动态文本 请注意蓝色和黄色文本框是如何在flex row 配置 蓝色文本框位于flex 2黄色是flex 1 一切工作正常 直到文本对于父容器来说太大 我希望绿色容器能够根据需要生长以适应弯曲的内
  • 如何手动运行 Git 预提交挂钩而不尝试提交?

    我只是希望能够运行它来查看工作树中的代码是否通过它 而无需实际尝试提交 只需运行pre commit通过 shell 执行脚本 bash git hooks pre commit
  • Kotlin 中 Float 和 Double 类型的最小值和最大值

    找出确切的内容很简单min and max值Int and LongKotlin 中的整数 有符号 32 位整数 Int MIN VALUE 2147483648 Int MAX VALUE 2147483647 有符号 64 位整数 Lo
  • Mongodb 限制聚合查询中的数组

    我正在尝试编写一个查询来返回每个类别中的前 X 个术语 例如前 5 个 前 10 个等 每个术语都有一个关联的类别 并且基于另一个术语的帮助堆栈溢出问题 https stackoverflow com questions 25666187
  • 将 Glade 与 pygobject Gtk3 一起使用

    我正在使用迁移指南将脚本转换为使用 Gtk3 将 GTK2 移植到 GTK3 http live gnome org PyGObject IntrospectionPorting Porting from PyGTK 2 to PyGI G
  • 改造 2 - 延迟响应

    我在改造 2 时遇到问题 我正在向 Microsoft EAS 服务器发送一些数据 但 20 秒后收到响应 为什么我知道这是改造问题 因为无需改造即可正常工作 my logs D OkHttp gt POST https my host M
  • Java 中的异常捕获

    Java 中有一些预定义的异常 如果抛出这些异常 就会报告发生了严重的事情 你最好改进你的代码 而不是在 catch 块中捕获它们 如果我理解正确的话 但我仍然发现许多程序中有以下内容 catch IOException e catch F
  • 应用程序在后台保存几分钟后就会被杀死

    当我打开我的应用程序并执行一些操作时 例如导航到某些ViewController 然后我几分钟内没有触摸该应用程序 iPhone 被锁定 应用程序进入BackGround State 现在经过几 分钟 大约 5 分钟 当我解锁 iPhone
  • Gradle - 我可以在项目依赖项中包含任务的输出吗

    我有一个任务 从这些源生成java源和一组jar 例如 项目a 我想将这些 jar 导出到依赖项目 例如 项目b 所以这就是我现在所拥有的大致内容 a gradle configurations generatedJars task gen
  • 从 HttpServletRequest 获取目标控制器

    我已经设置了 spring security 来验证和授权进入我的应用程序的请求 我已将配置设置如下 public class OAuth2ServerConfiguration extends ResourceServerConfigur
  • 如何使用groupby将多个函数应用于Pandas中的多个列?

    我有一个正常的df A pd DataFrame 1 5 2 2 4 4 3 3 1 4 2 2 5 1 4 columns A B C index 1 2 3 4 5 下列的这个食谱 https stackoverflow com que
  • 如何在Xamarin.Forms中将多个页面的BindingContext设置为同一个ViewModel?

    我是 Xamarin Forms 新手 我想使用 MVVM 模式和 XAML 创建一个跨平台应用程序 在我的表单项目 pcl 中 我想设置绑定上下文 of my MainPage以及将来的多个页面到同一个 ViewModel 这可能吗 让我
  • 宏:knownDirectSubclasses 被嵌套类型破坏?

    我有一个宏 它枚举密封特征的直接子类型 import scala reflect macros Context import language experimental macros object Checker def apply A U
  • 投射回更专业的界面

    我正在用 Go 编写一个游戏 在 C 中 我将所有实体类存储在 BaseEntity 类的数组中 如果一个实体需要在世界中移动 那么它将是一个从 BaseEntity 派生的 PhysEntity 但添加了方法 我尝试模仿这是 go pac
  • 有效地合并两个数组 - 一个已排序,另一个未排序

    我正在解决一个问题 该问题有一个由 n 个元素组成的排序数组 后跟一个未排序的长度数组 O logn O 平方 n 如何最有效地对整个列表进行排序 在上述两种情况下我应该使用哪种排序 由于将单个元素插入数组并保持其排序是O n 你不可能变得
  • 从另一个项目/dll 引用的 Asp.NET 用户控件具有 NULL 属性

    试图将一个常用的自定义控件移到一个新的类库中 也尝试了一个新的web项目 以便其他项目可以使用它 但是在另一个项目中使用时它的属性始终为NULL 不幸的是 搜索类似的问题并不能帮助解决我的问题 我将 web base config 中的新控
  • Crypto-Js 与 mcrypt 不同的输出取决于要加密的数据

    我的问题现在与此相关Crypto Js 与 mcrypt 的输出不同 https stackoverflow com questions 24388677 crypto js different output from mcrypt 这就是
  • JavaScript 中版本号比较如何正常工作?

    我能够在 JavaScript 中正确比较版本号 而无需拆分和检查每个十进制数字 运作如何 2 0 1 gt 2 1 0 false 2 2 1 gt 2 1 0 true 2 5 1 gt 2 0 5 true Thanks 不你不是 能
  • 通过 Python 登录 Apple

    我确实在 python 中使用苹果登录时遇到了问题 但它主要不是 python 只是神秘的东西 所以 我读了这篇文章https medium com aamishbaloch sign in with apple in your djang
  • 创建圆形的 ImageView,因此单击仅适用于圆形区域 android

    您好 我正在创建 tabla 应用程序 例如 它不应该在圆形之外响应 但 ImageView 是矩形 因此它正在响应 我相信你能理解这个问题 ImageView 是矩形 但它的图像是圆形的 但我只想检测圆形图像上的点击 感谢您的所有支持 基