我是初学者。我想构建一个应用程序,但我遇到了一个问题。
如图所示,我有一个按钮。如果用户点击此按钮的顶部,我想更改顶行的颜色。另一方面,只是用户点击的一面。如果用户点击例如在顶部然后在右侧,我想改变图片所示的两侧颜色。
任何想法如何做到这一点?对我来说,主要的问题是我无法检测用户点击的区域。
答案 0 :(得分:1)
您可以使用此处所述的触摸检测: https://developer.android.com/training/gestures/detector.html
@Override
public boolean onSingleTapConfirmed(MotionEvent event) {
float clickedX = event.getX();
float clickedY = event.getY();
float btnTop = obtainTop(yourBtn);
float btnBot = obtainBot(yourBtn);
float btnLeft = obtainLeft(yourBtn);
float btnRight = obtainRight(yourBtn);
// detect where the button was clicked
// change button how you need
return true;
}
为了获得View
的x坐标,你可以在这里找到一些东西
Getting View's coordinates relative to the root layout