在我的Android应用程序活动中,我需要安排6个按钮,如图所示。
当我尝试将每个按钮添加为按钮的背景时,存在按钮彼此重叠的问题。我可以将它们放置在如下截图的格式中。此外,我不知道哪种布局最适合这种类型的模式。所以请建议也.. ..
答案 0 :(得分:2)
我有一个类似的问题,我需要10个按钮排列相似 - 使用不同的颜色如下:
我最终使用的是单张图片,而不是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。