如何将对话/活动保持在其他活动之上,无论用户是否在活动之间切换,它都应该一直活着。
答案 0 :(得分:3)
您可以使用相对布局作为父级,通过使用相对布局,您可以与其他布局重叠。所以,你必须使用相对布局的两个子布局。在一个孩子中你将有弹出窗口,在另一个布局中你必须不断改变你的布局..
如果您希望跨多个活动。您必须创建一个单独的布局并将其包含在所有活动中,并创建一个界面来处理弹出窗口中的按钮事件。
或
您可以创建具有上述布局的基本活动,并在您希望此布局的所有其他活动中扩展该活动。
此致 Yuvi
答案 1 :(得分: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)然后你输入一个对话框的类型,下一个活动可以获得它并再次显示它。