Android 安卓:聚焦时,创建带有不可点击覆盖的图像按钮?
对于一个新的Android项目,我需要在聚焦或按下按钮时“发光”,这意味着在第一张图像的顶部应该会显示一张更大的图像。我这里的问题是:可点击区域不应该像这个覆盖图像那么大 在ASCII艺术中:Android 安卓:聚焦时,创建带有不可点击覆盖的图像按钮?,android,user-interface,layout,overlay,imageview,Android,User Interface,Layout,Overlay,Imageview,对于一个新的Android项目,我需要在聚焦或按下按钮时“发光”,这意味着在第一张图像的顶部应该会显示一张更大的图像。我这里的问题是:可点击区域不应该像这个覆盖图像那么大 在ASCII艺术中: +------------------------------------------+ | | | | | +-------
+------------------------------------------+
| |
| |
| +---------------------+ |
| | Inner image, always | |
| | visible & clickable | |
| +---------------------+ |
| Overlay (image with alpha on top) |
| visible on focus or press, NOT clickable |
+------------------------------------------+
因此,基本上,叠加图像下可能还有其他项目仍然可以完全访问,例如通过单击和拖动
你知道我如何用Android解决这个问题吗?XML布局解决方案将是最好的!这里有什么最佳实践吗
你知道我如何用Android解决这个问题吗
从Z轴的角度来看,位于顶部的对象将获得输入事件。因此,您的选择似乎是:
视图
的直接子类,在该子类中您可以自己完成所有操作,无需使用图像按钮
(或您现在使用的任何工具)视图
,并将相关输入事件委托给下面的小部件,这可能是可能的,也可能是不可能的ImageButton
,您将背景替换为自己的StateListDrawable
——否则,您在这里写的东西对我来说没有多大意义
如果是,则不需要覆盖。你可以用……嗯……垫底。根据按钮状态使参考底图(单独的
图像视图
)可见或不可见。使<代码>图像浏览> /代码>的外观和背景看起来“闪亮”,作为你的代码> StistelistRababys/Cux.@ MrielHelt:你也可以考虑看一看更像这样:所以,我不是使用<代码> IMAGButtudio我有一个<代码> IVIEVIEW ,因为我使用自定义图像作为可点击的区域。单击此ImageView时,应在其顶部显示一个比第一个图像大的光斑。正如你所说,我可能会使用StateListDrawable作为背景,但它当然会出现在背景中。即使它位于顶部,也不应该获取输入事件,因为它既不可单击也不可聚焦。我可以使用2个ImageView(顶部的flare)来解决问题,但这会增加视图层次结构。这个IMHO通用用例也不需要自定义视图…