标签: screen-orientation

DatePickerDialog 在屏幕旋转时保存布局

我有奇怪的问题。我ActivityAppCompatActivity里面继承了 Fragment。在这个Fragment我显示DatePickerDialog选择日期。

声明的Activitymanifest.xml

<activity name=".SampleActivity" android:configChanges="keyboardHidden|orientation|screenLayout|screenSize" />
Run Code Online (Sandbox Code Playgroud)

现在。我想在DatePickerDialog里面展示Fragment所以我DatePickertFragment用代码创建了自定义:

public class DatePickerFragment extends AppCompatDialogFragment{
    // (...)
    @NonNull
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        DatePickerDialog dialog = new DatePickerDialog(getActivity(), this, year, month, day);
        return dialog;
    }
    // (...)
}
Run Code Online (Sandbox Code Playgroud)

并在片段内执行 show() 方法

 pickerFragment.show(getChildFragmentManager(), null);
Run Code Online (Sandbox Code Playgroud)

我在onClick()方法中运行显示选择器代码。DatePicker正确显示。

现在是问题。 Dialog以纵向屏幕方向正确显示,但是当我将屏幕旋转到横向模式时,对话框似乎在左右尺寸上被剪切。我检查过,我想Dialog选择器没有在屏幕旋转时改变布局方向。截图如下 1. 纵向,正确的对话框 在此处输入图片说明

  1. 接下来我旋转设备,在横向模式下我得到类似剪切对话框的东西(对话框纵向布局尺寸中的横向对话框布局) 在此处输入图片说明

我将manifest.xml Activity声明更改为

android:configChanges="keyboardHidden|orientation" 
Run Code Online (Sandbox Code Playgroud) 现在可以正常工作,但我不能这样做,因为其他应用程序部分将无法正常工作。所以我想知道我是否可以DialogPicker …

android screen-orientation android-datepicker android-layout android-fragments

5
推荐指数
1
解决办法
1984
查看次数

Android sensorPortrait 不适用于反向肖像模式

我试图让我的应用程序仅在纵向和反向纵向模式下工作(而不是横向)。这是我的应用程序的 SDK 详细信息

minSdkVersion 15
targetSdkVersion 23 
Run Code Online (Sandbox Code Playgroud)

在 AndroidManifest.xml 文件中,我在每个活动标签中都有以下行

android:screenOrientation="sensorPortrait"
Run Code Online (Sandbox Code Playgroud)

我尝试了很多其他答案,但没有一个对我有用。请帮我解决这个问题。谢谢。

android portrait screen-orientation android-sensors

5
推荐指数
1
解决办法
641
查看次数

Web 应用清单:默认方向的设置被忽略

我正在尝试使用以下清单 JSON 文件设置 Web 应用程序的默认方向:

{
  "manifest_version": 2,
  "version": "0.9",
  "short_name": "My Web App",
  "name": "My Web App in Portrait Mode",
  "icons": [
    {
      "src": "/homescreen-icon.png",
      "sizes": "196x196",
      "type": "image/png"
    }
  ],
  "start_url": "/index.php",
  "display": "fullscreen",
  "orientation": "portrait",
  "theme_color": "#5a8238",
  "background_color": "#1a2a08"
}
Run Code Online (Sandbox Code Playgroud)

使用 Chromes 开发人员工具,我可以检查清单是否已正确加载并且一切正常:方向设置为portrait(并且显示为fullscreen)。

但是将 Web 应用程序添加到移动 Chrome 上的主屏幕,然后从那里打开它,我仍然可以横向查看 Web 应用程序。

对此的任何帮助表示赞赏。谢谢。

android web-applications screen-orientation

5
推荐指数
1
解决办法
1677
查看次数

orientationchange 事件不会在 IOS 设备上触发

Orientationchange事件不会在 iOS 设备上触发。在台式机和 Android 设备上一切正常,但操作系统设备不支持此事件。如何确定 iOS 设备上的屏幕方向变化?

jquery screen-orientation dom-events ios

5
推荐指数
2
解决办法
7553
查看次数

在不改变方向的情况下响应本机 Expo 方向侦听器

我正在尝试检测 React Native 应用程序上的当前方向,而无需更改方向。我制作了一个相机应用程序,我只想在方向改变时翻转图标。现在ScreenOrientation.addOrientationChangeListener(listener)如果不改变实际方向我就无法使用。有什么办法解决这个问题吗?

screen-orientation reactjs react-native expo

5
推荐指数
1
解决办法
5405
查看次数

Prevent fullscreen exit (window flag clear?) on orientation change

I have a fullscreen activity, with no configChanges set in AndroidManifest.xml so that the system recreates the activity on orientation change. Everything works fine here, except that intermittently, an orientation change seems to cause the app to exit fullscreen mode and bring the system ui back in.

我有代码可以在发生这种情况时重新进入全屏模式,但我想防止它从全屏模式开始。我想知道为什么会发生这种情况?

我还观察到,这只发生debuggable在 build.gradle 中为构建配置(发布或调试)的标志设置为 false 时

活动.kt

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    // initial fullscreen mode before content loads
    enterFullscreenMode()

    window.decorView.setOnSystemUiVisibilityChangeListener { visibility ->
        if (visibility and View.SYSTEM_UI_FLAG_FULLSCREEN == 0) …
Run Code Online (Sandbox Code Playgroud)

android screen-orientation kotlin

5
推荐指数
1
解决办法
95
查看次数

无法在 iPad iO 上锁定屏幕方向

注意我知道已经有很多关于此的帖子了。但所有这些都有点过时了,没有一个可以解决问题,因此我发布了一个新的。

问题

无法锁定 ipad 的特定屏幕方向。

套餐

"expo": "~44.0.0",
"expo-screen-orientation": "^4.1.2",
"react": "17.0.1",
"react-dom": "17.0.1",
"react-native": "0.64.3",
(Ands loads of others that arent relevent)
Run Code Online (Sandbox Code Playgroud)

信息

尝试将屏幕方向锁定为横向。这里有一个要点:在移动设备上它应该是纵向的,但在平板电脑上应该是横向的。移动设备工作正常(两个方向),但在平板电脑上 - 似乎无法使其工作。

是的,我确实添加"requireFullScreen": trueapp.json. 并且app.json不包含orientation属性(也尝试过)。

有趣的事实 - 尝试在 iPhoneorientation上设置为横向,app.json在 iPhone 上效果很好,但在 iPad 上 - 没有任何反应。我仍然可以很好地旋转屏幕。

代码

在最顶部的应用程序 ( app.js) 中,我创建了一个简单的方法(在 内部function App() ):

  const foo = async () => {
    await ScreenOrientation.lockAsync(ScreenOrientation.OrientationLock.LANDSCAPE_LEFT);
  };
Run Code Online (Sandbox Code Playgroud)

我称之为:foo();

然后返回(不相关)。注意应用程序像这样返回export default registerRootComponent(App);

如果使用 iPhone …

screen-orientation ipad ios react-native expo

5
推荐指数
1
解决办法
1019
查看次数

Android:确定应用程序何时最终确定与销毁屏幕方向更改

我对Android世界相对较新,并且我很难理解整个屏幕定位循环是如何工作的.据我所知,当方向从纵向变为横向或反之时,活动会被破坏,然后重新创建.因此onCreate函数中的所有代码都将再次运行.所以这是我的情况:我有一个应用程序,我正在处理它登录到一个网站,检索数据,并将其显示给用户.虽然这都是在后台线程中完成的,但启动这些线程的代码位于onCreate函数中.现在,问题在于每当用户更改屏幕方向时,应用程序将登录,检索数据并再次将其显示给用户.我想要做的是设置一个布尔值,告诉应用程序是否已登录,因此它知道在调用onCreate函数时是否必须登录.只要应用程序在内存中,HttpClient就会存在并包含用户登录的cookie,但当应用程序被系统杀死时,它们就会消失.所以我假设我需要做一些事情,比如在应用程序被杀死时将登录的布尔值设置为false,但是因为在旋转屏幕时调用onDestroy,这怎么可能?我也查看了finalize函数和isFinishing()但是那些似乎没有用.

更短的版本:如何区分应用程序何时从内存中被杀死,以及活动何时被旋转以及每个事件的不同代码?

非常感谢任何帮助或正确方向上的一点.谢谢!

android screen-orientation

4
推荐指数
1
解决办法
987
查看次数

Android意图接收和轮换

我在我的活动中使用Intent Filter来检索用户点击的url.

在我的活动onCreate方法中,我有以下代码

    Intent intent = getIntent();
    if (Intent.ACTION_VIEW.equals(intent.getAction())) {
        url = intent.getDataString();
        showDialog(DIALOG_ID);          
    }
Run Code Online (Sandbox Code Playgroud)

除非我旋转手机,否则效果很好.即使在旋转之前关闭了对话框,每次更改手机方向时它都会重新打开.我可以这样做.

为了您的信息,我不想锁定方向

android rotation intentfilter screen-orientation

4
推荐指数
1
解决办法
1775
查看次数

即使在操作系统中禁用了屏幕旋转,我的Android应用也会旋转.我怎样才能解决这个问题?

我正在开发一款完全支持横向模式的Android应用.我的所有活动都在清单中设置了以下属性:

android:configChanges="keyboardHidden|locale|orientation"
android:screenOrientation="sensor"
Run Code Online (Sandbox Code Playgroud)

但是,如果我在手机的屏幕设置中禁用旋转,我的应用程序仍会在手机旋转时旋转.这种困扰我; 似乎系统级设置的全部意义如果它可以被单个应用程序覆盖是没有意义的.我如何解决这个问题,以便在手机上启用屏幕旋转的情况下仍能正常运行时遵循系统级设置?

android orientation screen-orientation orientation-changes android-orientation

4
推荐指数
1
解决办法
3713
查看次数