Android(Facebookなど)で水平スライダーメニューを作ろうとしています。
コンテナー ビューのみがマウス タッチ イベントをキャプチャできるようにします。
setEnable(false)
コンテナ ビューのすべての子要素を試しました。しかし、ビューがタッチイベントをキャプチャしない原因になります。
public void ChangeMenuVisibility() {
int menuWidth = menu.getMeasuredWidth();
// Ensure menu is visible
menu.setVisibility(View.VISIBLE);
int left = !menuOut ? 0 : menuWidth;
container.smoothScrollTo(left, 0);
menuOut = !menuOut;
ViewUtils.enableDisableViewGroup(
(ViewGroup) window.findViewById(R.id.main_content), !menuOut);
window.findViewById(R.id.main_content).setEnabled(true);
}
[ViewUtils.java]
public static void enableDisableViewGroup(ViewGroup viewGroup,
boolean enabled) {
int childCount = viewGroup.getChildCount();
for (int i = 0; i < childCount; i++) {
View view = viewGroup.getChildAt(i);
view.setEnabled(enabled);
if (view instanceof ViewGroup) {
enableDisableViewGroup((ViewGroup) view, enabled);
}
}
}
これを達成するには、どのような戦略に従う必要がありますか。
どんな助けでも大歓迎です。