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它似乎对我也不起作用。。