Android 微调器弹出对话框在屏幕旋转时不调整其宽度

Android 微调器弹出对话框在屏幕旋转时不调整其宽度,android,spinner,screen-orientation,Android,Spinner,Screen Orientation,我正在使用微调器和android:spinnerMode=“dropdown”。我还设置了android:configChanges=“orientation | keyboardHidden | screenSize”以防止重新创建我的活动。当我处于横向模式并单击微调器时,它会在微调器下方弹出,宽度与微调器按钮相同,现在,当我将屏幕旋转到纵向模式时,微调器按钮的宽度会根据屏幕大小而减小,但弹出对话框不会相应地减小其宽度 纵向模式屏幕: 横向模式屏幕 我想关闭弹出窗口并在屏幕上重新打开它,但

我正在使用
微调器
android:spinnerMode=“dropdown”
。我还设置了
android:configChanges=“orientation | keyboardHidden | screenSize”
以防止重新创建我的
活动。当我处于
横向
模式并单击
微调器
时,它会在
微调器
下方弹出,宽度与
微调器
按钮相同,现在,当我将屏幕旋转到纵向模式时,
微调器
按钮的宽度会根据屏幕大小而减小,但弹出对话框不会相应地减小其宽度

纵向模式屏幕:

横向模式屏幕


我想关闭弹出窗口并在屏幕上重新打开它,但我没有找到任何方法来关闭弹出对话框。

onConfigurationChanged()
方法调用
spinner.invalidate()

我也有这个问题。最后,我在
onConfigurationChanged()
中的spinnerAdapter上调用了
notifyDatasetChanged()
,它成功了。

你能以横向模式启动你的应用程序,看看微调器的宽度是否与微调器按钮的宽度相同吗。如果为true,则必须使微调器无效以重新绘制。为什么要自己处理屏幕旋转?我什么时候在微调器上调用invalidate方法?你能详细解释一下吗..你试过在onConfigurationChanged()方法上调用spinner.requestLayout()吗?@rename.antunes它似乎对我也不起作用。。