自定义形状按钮的android活动

时间:2014-09-16 15:19:28

标签: android android-layout

在我的Android应用程序活动中,我需要安排6个按钮,如图所示。

enter image description here

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

1 个答案:

答案 0 :(得分:2)

我有一个类似的问题,我需要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;

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

在您的情况下,您使用板球图片替换颜色,并将MAX_PETALS重新定义为8而不是10。