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