从新按钮打开应用程序设置

时间:2013-12-24 03:49:26

标签: android

我已从我的应用顶部删除默认操作栏,并将其替换为我自己的自定义顶级菜单。这解决了我试图用我的应用程序实现的许多问题。

现在唯一的问题是我无法访问操作栏上的默认设置按钮。我打算创建自己的设置弹出,但我不确定如果没有新的活动开始作为弹出对话框。这与默认设置菜单弹出窗口不同。

我可以通过顶部的自定义操作栏复制此内容吗?

2 个答案:

答案 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(), "");