Android开发ImageButton分层

时间:2016-02-17 05:37:25

标签: android android-layout imagebutton android-imagebutton

我正在开发一个应用程序,我需要一个人体图,你可以点击特定的部位(胸部,手臂,腿等)。我为每个身体部位都有单独的png,所以我希望创建imageButtons并将它们组合起来,但是布局它们会变得一团糟。你们如何将这些png组合成一个交互式的体图,你可以点击任何身体部位。

2 个答案:

答案 0 :(得分:0)

您可以使用ImageButton代替ImageView,而不是<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="yourOnClickMethod" android:src="@drawable/your_body_part" /> ,如下例所示:

ImageButton

使用Button会添加您可以在通常的 self.navigationItem.hidesBackButton = YES; UIButton *btnLeft=[UIButton buttonWithType:UIButtonTypeCustom]; btnLeft.frame=CGRectMake(0, 0, 65, 40); [btnLeft addTarget:self action:@selector(onClickBackBarItem:) forControlEvents:UIControlEventTouchUpInside]; [btnLeft setImage:[UIImage imageNamed:@"image_name"] forState:UIControlStateNormal]; self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:btnLeft]; -(void)onClickBackBarItem:(id)sender { // ** your stuff ** // } 上找到的自定义边框和效果,我相信这不是您所寻求的。 希望这会有所帮助。

答案 1 :(得分:0)

ImageButton真的不是这里的方式。 Android视图都是矩形的,您通常只会相对于其他人的边缘排列它们。这就是为什么你在铺设东西时遇到麻烦的原因。

如果您制作了一个自定义视图,负责在单个视图中定位和绘制所有零件,那会更好。然后你有一个该视图的点击处理程序,它将点击坐标转换为身体部位,因为你已经有意识地安排它们。

有点痛苦,但它确实是最好的方式,IMO和你将获得最精确,总体上最小的麻烦。关于如何制作自定义视图并将其内容绘制到Canvas,有很多很棒的教程。