Android 比如安卓的画外音

Android 比如安卓的画外音,android,Android,大家好 我正在尝试为Android(如iPhone)实现一个画外音,但要实现一个特定的应用程序(而不是整个操作系统) 想象一个屏幕上有六个按钮,因此它们占据了整个活动,大小均匀分布 当我用手指在屏幕上“行走”时,我想把焦点放在按钮上,当按钮有焦点时捕捉事件,并让焦点也聚焦 结论:当我在屏幕上轻弹时,如果它在一个按钮上,焦点按钮。如果我继续拖动手指,请将焦点转到另一个按钮,而不要将手指从屏幕上移开 有人能帮我吗?对不起,英语不好。你必须知道按钮的位置。可以使用基本视图函数获取位置(getLeft(

大家好

我正在尝试为Android(如iPhone)实现一个画外音,但要实现一个特定的应用程序(而不是整个操作系统)

想象一个屏幕上有六个按钮,因此它们占据了整个活动,大小均匀分布

当我用手指在屏幕上“行走”时,我想把焦点放在按钮上,当按钮有焦点时捕捉事件,并让焦点也聚焦

结论:当我在屏幕上轻弹时,如果它在一个按钮上,焦点按钮。如果我继续拖动手指,请将焦点转到另一个按钮,而不要将手指从屏幕上移开


有人能帮我吗?对不起,英语不好。

你必须知道按钮的位置。可以使用基本视图函数获取位置(getLeft(),等等…)


之后,您必须在TouchListner上执行活动。在其中,您必须检查Event.x和Event.y指针的位置,并将foucs设置为指定的视图。指针从指定视图移动后,您可以将焦点设置为false。

我不认为您可以使用Android Button类进行此操作,而是使用自定义视图,绘制六个矩形,并编写onTouchEvent方法,根据用户手指的位置确定播放什么声音。请参阅上的Sudokuv4示例,了解一些可以使用的代码。

设置rootView的Touch listner,并在其中使用event.getRawY()和event.getRawX()。这会让你知道触摸发生在哪里。您必须编写自己的函数来检查事件是否发生在基于getLeft()、getTop()和其他函数的in按钮上。之后,您可以使用按钮的setPressed(true)功能。此外,在touch listner中,您必须确定事件是ACTION_DOWN还是ACTION_UP。在第一个屏幕上,您将使用setpressed(true)查看,在第二个屏幕上,您将使用setpressed(false)。寻找一些触摸事件教程