繁体   English   中英

旋转屏幕时如何保持android搜索对话框打开?

[英]How to keep android search dialog on when rotating screen?

我基于代码Searchable Dictionary v2构建了一个搜索小部件。 一切正常,但是有一个问题。

如果在搜索对话框打开时将屏幕从纵向旋转为横向,反之亦然,则文本编辑框和键盘屏幕消失并再次运行。

有什么办法可以使编辑框切换到适当的模式(横向或纵向),而无需退出并重新运行对话框?

您可以使用可搜索的词典检查行为。 我想要类似Google搜索窗口小部件的东西。 它仅在保持屏幕显示的同时切换编辑框模式。

更改屏幕方向后,Android会创建一个新的活动/视图,因此您可能必须自己处理屏幕方向。 我在应用程序中成功使用了该解决方案,我认为它也适用于小部件。

请参阅此页面以了解如何执行此操作:
http://www.androidpeople.com/android-how-to-handle-screen-orientation-change-issue/

其他一些有用的提示(基本上是相同的解决方案)在这里:
如何通过选项卡活动中开始的活动来处理屏幕方向更改
当进度对话框和后台线程处于活动状态时,如何处理屏幕方向变化?

有关onPause()和onSaveInstanceState()的一些信息(在您使用小部件时可能不适用,但以防万一:))在这里:
如何在Android上禁用方向更改?

我所做的是在显示对话框时锁定方向,然后在完成后将其解锁:

int currentOrientation = getResources().getConfiguration().orientation;
        if (currentOrientation == Configuration.ORIENTATION_LANDSCAPE) {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE); //locks landscape
        }
        else {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT); //locks port
        }
    // do work
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM