gpt4 book ai didi

android - android中的圆形按钮..避免按下 "outside"按钮?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:55:03 24 4
gpt4 key购买 nike

我已经创建/试图通过使用 ImageButton“小部件”为 android 创建一个圆形按钮。但是由于这种类型的按钮被视为正方形,而我的 png 图像也被视为具有透明背景的正方形,那么我如何避免用户无法按下圆形按钮之外的按钮?..因为现在..他们可以按下按钮的“角落”,这仍然会触发点击事件..是否有任何特殊的映射层可以在 photoshop 中完成或以任何方式更改图像按钮的半径以使其适合我图像的“圆度”..或任何想法?

提前致谢!..抱歉英语不好..

最佳答案

试试勾股定理和onTouch,简单易行的方法。

public boolean inCircle(MotionEvent e, int radius, int x, int y) {
int dx = e.x - x;
int dy = e.y - y;
double d = Math.sqrt((dx * dx) + (dy * dy));
if(d < radius)
return true;
return false;
}

x,y是圆的位置,radius是半径,e是你的TouchEvent。

@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
if(arg1.getAction() == MotionEvent.ACTION_DOWN){
if(inCircle(arg1, radius, xCircle, yCircle){
//do whatever you wanna do here
}
}
return false;
}

关于android - android中的圆形按钮..避免按下 "outside"按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9049868/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com