如何在 android 中更改形状的侧面颜色

How to change side color of shapes in android

我是一名初级开发人员。我想构建一个应用程序,但我遇到了问题。

如图所示,我有一个按钮。如果用户单击此按钮的顶部,我只想更改顶行的颜色。同样在另一侧,也就是用户点击的一侧。例如,如果用户点击顶部然后右侧,我想更改图片显示的两侧的颜色。

有什么办法吗?我的主要问题是我无法检测到用户点击了哪个区域。

您可以按照此处所述使用触摸检测: 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 y 坐标,你可以在这里找到一些东西 Getting View's coordinates relative to the root layout