我已从我的应用顶部删除默认操作栏,并将其替换为我自己的自定义顶级菜单。这解决了我试图用我的应用程序实现的许多问题。
现在唯一的问题是我无法访问操作栏上的默认设置按钮。我打算创建自己的设置弹出,但我不确定如果没有新的活动开始作为弹出对话框。这与默认设置菜单弹出窗口不同。
我可以通过顶部的自定义操作栏复制此内容吗?
答案 0 :(得分:0)
在按钮侦听器中使用此代码
startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);
答案 1 :(得分:0)
您可以使用带有自定义对话框的DialogFragment来模拟弹出的设置。
public class CustomDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
CustomDialog dialog = CustomDialog(getActivity());
// Position the dialog window below your action bar
Window window = dialog.getWindow();
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.gravity = Gravity.TOP | Gravity.RIGHT;
lp.y = 100; // action bar height
window.setAttributes(lp);
return dialog;
}
private class CustomDialog extends Dialog {
public CustomDialog(Context context) {
super(context);
// do not show the title of the dialog box and dismiss
// it if touched outside, as the normal settings pop up
requestWindowFeature(Window.FEATURE_NO_TITLE);
setCanceledOnTouchOutside(true);
// your custom layout
setContentView(R.layout.custom_layout);
}
}
}
然后用:
显示CustomDialogFragment popup = new CustomDialogFragment();
popup.show(getFragmentManager(), "");