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

时间:2013-05-06 21:43:51

标签: android menu popup spinner center

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

这是我的代码

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();
            }
        });

1 个答案:

答案 0 :(得分:5)

经过大量的时间和精力指向错误的方向后,我觉得解决方案非常简单。更改以下

    Spinner s1 = new Spinner(this);

    Spinner s1 = new Spinner(this, Spinner.MODE_DIALOG);

默认情况下为Spinner.MODE_DROPDOWN