gpt4 book ai didi

android - Android Activity 的自定义形状按钮

转载 作者:行者123 更新时间:2023-11-29 21:01:46 25 4
gpt4 key购买 nike

在我的 android 应用程序 Activity 中,我需要如图所示排列 6 个按钮。

enter image description here

当我尝试将每个按钮作为背景添加到按钮时,出现按钮相互重叠的问题。我可以将它们放置在如下图所示的格式中。我也不知道哪种布局最适合这种类型模式。所以请也建议..

最佳答案

我有一个类似的问题,我需要 10 个类似排列的按钮 - 不同的颜色如下: hex buttons

我最终使用了一张图片,而不是 8 个单独的按钮。

为了弄清楚哪种颜色(即哪个“花瓣”)被按下,我在图像上设置了一个触摸监听器,代码如下:

public boolean onTouch(View v, MotionEvent event)
{
// touch coords
int y = (int) event.getY();
int x = (int) event.getX();

/* SELECT PETAL */
if (MotionEvent.ACTION_DOWN == event.getAction())
{
// find petal
MyApp.angle = PetalMaths.angleFromOrigin(midX, midY, x, y);
selectedIndex = PetalMaths.petalFromAngle(MyApp.angle);
}

return true;
}

PetalMaths 包含此代码的地方:

public static int angleFromOrigin(int oX, int oY, int x, int y)
{
int dX = oX - x;
int dY = oY - y;

int degrees = (int) Math.toDegrees(Math.atan2(dY, dX));
return (degrees + 270) % 360;
}

public static int petalFromAngle(int angle)
{
return (int) angle / (360 / MyApp.MAX_PETALS);
}

MyApp.MAX_PETALS

public static final int MAX_PETALS = 10;

这会计算按下了哪个 fragment/花瓣/颜色(查看字段 selectedIndex)。

在您的例子中,您将颜色替换为蟋蟀图片并将 MAX_PETALS 重新定义为 8 而不是 10。

关于android - Android Activity 的自定义形状按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25872592/

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