如何以编程方式居中微调器菜单?

Ada*_*dam 0 android menu center popup spinner

我有一些活动,可以通过编程方式创建微调器,单击按钮即可打开微调器,但是每次单击按钮时,微调器弹出菜单都位于屏幕的一角而不是中间,因此我需要在中间显示此微调器弹出菜单屏幕。

这是我的代码

Spinner s1 = new Spinner(this);
String[] test = { "Never", "3", "6" };
        ArrayAdapter<String> arrayAdapter1 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_single_choice, test);
        s1.setAdapter(arrayAdapter1);

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
        params.gravity = Gravity.CENTER;
        s1.setLayoutParams(params);

b3.setOnClickListener(new OnClickListener() {
            public void onClick(View paramView) {
                s1.performClick();
            }
        });
Run Code Online (Sandbox Code Playgroud)

use*_*904 6

经过大量的时间和精力,朝着错误的方向发展,解决方案非常简单。改变以下

    Spinner s1 = new Spinner(this);
Run Code Online (Sandbox Code Playgroud)

    Spinner s1 = new Spinner(this, Spinner.MODE_DIALOG);
Run Code Online (Sandbox Code Playgroud)

默认情况下为Spinner.MODE_DROPDOWN