如何在 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
我是一名初级开发人员。我想构建一个应用程序,但我遇到了问题。
如图所示,我有一个按钮。如果用户单击此按钮的顶部,我只想更改顶行的颜色。同样在另一侧,也就是用户点击的一侧。例如,如果用户点击顶部然后右侧,我想更改图片显示的两侧的颜色。
有什么办法吗?我的主要问题是我无法检测到用户点击了哪个区域。
您可以按照此处所述使用触摸检测: 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