如何将对话框/活动保持在其他活动之上,无论用户是否在活动之间切换,它都应该一直处于活动状态。
问问题
3444 次
2 回答
3
您可以使用相对布局作为父级,通过使用相对布局,您可以重叠其他布局。因此,您必须使用相对布局的两个子布局。在一个孩子中,您将弹出窗口,而在另一种布局中,您必须不断更改布局..
如果您希望跨多个活动进行此操作。您必须创建一个单独的布局并将其包含在所有活动中,并创建一个界面来处理弹出窗口中的按钮事件。
或者
您可以创建一个具有上述布局的基本活动,并将该活动扩展到您想要此布局的所有其他活动中。
问候, 尤维
于 2013-04-04T14:15:46.337 回答
1
Personnaly,我会做这样的事情:
1)创建一个从 DialogFragment 扩展的类:
public class MyDialogFragment extends DialogFragment{
public static final int DIALOG_TYPE1 = 1;
public static MyDialogFragment newInstance(int dialogType) {
MainDialogFragment frag = new MainDialogFragment();
Bundle args = new Bundle();
args.putInt("type", dialogType);
frag.setArguments(args);
return frag;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
super.onCreateDialog(savedInstanceState);
int type = getArguments().getInt("type");
Dialog result = null;
switch (type) {
case DIALOG_TYPE1:
result = new AlertDialog.Builder(getActivity())
.setTitle("TITLE")
.setMessage("MESSAGE")
.setPositiveButton(android.R.string.ok, null)
.create();
break;
default:
break;
}
return result;
}
}
2)然后在您的活动中:
DialogFragment dialog = MyDialogFragment.newInstance(MyDialogFragment.DIALOG_TYPE1);
dialog.show(getFragmentManager(), "DIALOG");
3)然后您将下一个活动可以获取并再次显示的对话框类型放入捆绑包中。
于 2013-04-04T14:24:44.007 回答