Android 禁止触摸背景片段上的事件

Android 禁止触摸背景片段上的事件,android,android-fragments,Android,Android Fragments,我有一个地图片段,它的视图在用户登录时可用。当用户注销时,显示登录表单的警报弹出,而地图仍在后台可见。我的问题是,即使登录对话框位于顶部,地图和菜单仍会对触摸事件作出反应,我如何防止这种情况发生 地图片段: public class MainFragment extends MapFragment{ ... @Override public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bun

我有一个地图片段,它的视图在用户登录时可用。当用户注销时,显示登录表单的警报弹出,而地图仍在后台可见。我的问题是,即使登录对话框位于顶部,地图和菜单仍会对触摸事件作出反应,我如何防止这种情况发生

地图片段:

public class MainFragment extends MapFragment{

    ...

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {    
        View v = super.onCreateView(inflater, parent, savedInstanceState);
        setRetainInstance(true);
        setHasOptionsMenu(true);

        ...

        m_loginManager = new LoginManager(getActivity());
        m_loginManager.show();

        ...

        return v;
    }
登录对话框:

public class LoginManager extends Dialog {

    public LoginManager(Activity activity)
    {
        super(activity);
        setContentView(R.layout.alert_login);
       ...
    }   
}
警报\u login.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content" 
          android:layout_centerHorizontal="true"
          android:layout_centerVertical="true"
          android:background="@android:color/white"
          android:orientation="vertical"
          android:padding="15dp"
          android:clickable="true">


          <TextView
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="@string/username"
              android:textAppearance="?android:attr/textAppearanceSmall" />

          <EditText
              android:id="@+id/userName"
              android:layout_width="300dp"
              android:layout_height="wrap_content"
              android:ems="10"
              android:inputType="text"
              android:text="" />

          <TextView
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="@string/password"
              android:textAppearance="?android:attr/textAppearanceSmall" />

          <EditText
              android:id="@+id/password"
              android:layout_width="300dp"
              android:layout_height="wrap_content"
              android:ems="10"
              android:inputType="textPassword"
              android:text="" />

          <Button
              android:id="@+id/loginButton"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="@string/loginButton" />
      </LinearLayout>

下面是它的外观:
禁用菜单按钮
为了禁用菜单按钮,您可以覆盖
onprepareOptions菜单

@Override
public boolean onPrepareOptionsMenu (Menu menu) {
    return false;
}
要在出现
alert\u login.xml
时禁用
main fragment
中的触摸事件,应将
clickable
属性设置为true

警报\u login.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true"
      android:layout_centerVertical="true"
      android:background="@android:color/white"
      android:orientation="vertical"
      android:padding="15dp"
      android:clickable="true">

      //...

//...

通过“…菜单仍有反应…”您是指菜单按钮吗?让我编辑关于禁用菜单的问题:在覆盖OnPrepareOptions菜单后,它不能动态启用,对吗?