Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓:聚焦时,创建带有不可点击覆盖的图像按钮?_Android_User Interface_Layout_Overlay_Imageview - Fatal编程技术网

Android 安卓:聚焦时,创建带有不可点击覆盖的图像按钮?

Android 安卓:聚焦时,创建带有不可点击覆盖的图像按钮?,android,user-interface,layout,overlay,imageview,Android,User Interface,Layout,Overlay,Imageview,对于一个新的Android项目,我需要在聚焦或按下按钮时“发光”,这意味着在第一张图像的顶部应该会显示一张更大的图像。我这里的问题是:可点击区域不应该像这个覆盖图像那么大 在ASCII艺术中: +------------------------------------------+ | | | | | +-------

对于一个新的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通用用例也不需要自定义视图…