Nie znajduję sposobu, aby to zadziałało.Wykonaj kliknięcie pierwszego planu
Moja aplikacja ma 2 ramki FrameLayout z wieloma widokami podrzędnymi (przypuśćmy, że ImageViews dla uproszczenia), ułożone jeden na drugim.
Mój problem polega na tym, że potrzebuję FrameLayout na GÓRĘ i WSZYSTKICH JEJ DZIECI, aby pozwolić, aby dotknięcia przeszły przez nie, docierając do leżącego poniżej FrameLayout (i jego dzieci). Coś jak zdarzenia wskaźnikowe: brak w HTML zastosowany do wszystkich wyświetleń obrazu w TOP framelayout.
Próbowałem setClickable (false) i setEnabled (false) zarówno na FrameLayout i jego dzieci, ale jeśli klikam niepełnosprawnych dzieci (na przykład ImageView), dotyk nie osiągnie podstawowego obrazu (to jest dziecko z dołu FrameLayout)
Poniższy kod jest moją najlepszą próbą wyłączenia FrameLayout i jego elementów podrzędnych (mSlideLayout jest rodzajem FrameLayout, warstwa jest każdym obrazem dzieci podrzędnym). Czy brakuje mi czegoś?
/** 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);
}
}