我有一个地图片段,当用户登录时,该视图可用。当用户注销时,警告显示记录表单弹出,而地图仍然在后台可见。我的问题是,即使登录对话框在顶部,地图和菜单仍会对触摸事件作出反应,我该如何防止这种情况发生?
地图片段:
if(false)
登录对话框:
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;
}
alert_login.xml:
public class LoginManager extends Dialog {
public LoginManager(Activity activity)
{
super(activity);
setContentView(R.layout.alert_login);
...
}
}
这是它的样子:
答案 0 :(得分:0)
禁用菜单按钮
在orrder中禁用菜单按钮,您可以覆盖onPrepareOptionsMenu
。
@Override
public boolean onPrepareOptionsMenu (Menu menu) {
return false;
}
要在MainFragment
出现alert_login.xml
时禁用触摸事件,您应将clickable
属性设置为true。
alert_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">
//...