Ixx*_*Ixx 5 layout android overlay
我想增加按钮的可点击区域(ImageView).但我不希望这在视觉上反映出来.它必须看起来像按钮很小(没有边距,填充等),但可点击区域很大.

我唯一能想到的就是将我的整个布局放在RelativeLayout中,并以编程方式将叠加层添加到第二个"图层".用数学计算左边距和边距.
有更好的方法吗?
我已经看过这里 使用填充扩展ImageView的可点击区域?
或者在这里 使按钮更容易点击
还有一些,但他们总是改变布局添加填充或透明区域到图像,我不想这样做.
使用 a TouchDelegate,如本博客文章中所述。
要点是,您可以定义一个TouchDelegate对象并将其附加到小部件以增加其触摸区域,而不会产生视觉影响。
在 Kotlin 中,这可能看起来像:
fun setExpandedTouchArea(view: View, extraSpace: Int) {
val parent = view.parent as View
parent.doOnLayout {
val area = Rect()
view.getHitRect(area)
area.top -= extraSpace
area.bottom += extraSpace
area.left -= extraSpace
area.right += extraSpace
parent.touchDelegate = TouchDelegate(area, view)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3040 次 |
| 最近记录: |