我找不到使这项工作的方法。
我的应用程序有 2 个带有许多子视图的 FrameLayouts(为简单起见,假设 ImageViews),一个堆叠在另一个上。
我的问题是,我需要 TOP 上的 FrameLayout 及其所有子项让触摸通过它们,到达底层 FrameLayout(及其子项)。类似于指针事件:HTML 中的无应用于 TOP 框架布局的所有图像视图。
我已经在 FrameLayout 及其子级上尝试了 setClickable(false) 和 setEnabled(false),但是如果我单击禁用的子级(例如 ImageView),触摸将不会到达底层 ImageView(即底部的子级)框架布局)
以下代码是我禁用 FrameLayout 及其子项的最佳尝试(mSlideLayout 是父 FrameLayout,layer 是每个 imageview 子项)。我错过了什么吗?
/** Create the layers structure into the layout */
void create_layers() {
Context context=getActivity();
mSlideLayout.removeAllViews();
for (FunqLayer layer:mLayers) {
if (layer!=null) {
View v=layer.init_internal(context, mSlideLayout); // constructs the child layer, suppose it's an ImageView
if ((v!=null) && (mIsMuteTouches)) {
v.setEnabled(false);
v.setClickable(false);
// this should obviously let touches pass through but it doesnt :(
}
}
}
if (mIsMuteTouches) {
// also do the same in the FrameLayout itself with no luck :(
mSlideLayout.setEnabled(false);
mSlideLayout.setClickable(false);
}
}