我有以编程方式创建微调器的活动,通过单击按钮打开微调器,但每次单击按钮微调器弹出菜单位于屏幕的角落而不是中间,我需要显示此微调器弹出菜单在屏幕中间。
这是我的代码
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();
}
});
答案 0 :(得分:5)
经过大量的时间和精力指向错误的方向后,我觉得解决方案非常简单。更改以下
Spinner s1 = new Spinner(this);
到
Spinner s1 = new Spinner(this, Spinner.MODE_DIALOG);
默认情况下为Spinner.MODE_DROPDOWN
。