react / react/react-native

Window dimensions doesn't change for android split screen

Đang mở
#30,371 10 bình luận 1 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

API: Dimensions Needs: Triage :mag: Never gets stale Platform: Android
Ngôn ngữ chính
C++
Star
127k
Fork
25.3k
Merge trung bình
1 ngày 23 giờ
Pull request đã merge (30 ngày)
4

Mô tả

Description

After upgrading react-native from 0.62.2 to 0.63.3 I've met an issue that when I use split screen on my physical android device the dimensions for window doesn't change. It remains the same if I open the app in fullscreen, or split it with other app so it takes 1/2 or 2/3 or 1/3 of the screen space. I cannot tell exactly what react-native version got this broken, but I did test it both on 0.62.2 and 0.63.3 versions once again, so I am confident about this being an issue on latest react-native version

React Native version:

System:
OS: Windows 10 10.0.19041
CPU: (4) x64 Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz
Memory: 2.51 GB / 9.98 GB
Binaries:
Node: 14.5.0 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.0 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 6.14.5 - C:\Program Files\nodejs\npm.CMD
Watchman: Not Found
SDKs:
Android SDK:
API Levels: 28, 29
Build Tools: 28.0.3, 29.0.2, 29.0.3
System Images: android-21 | Google APIs ARM EABI v7a, android-21 | Google APIs Intel x86 Atom_64, android-27 | Google APIs Intel x86 Atom, android-28 | Intel x86 Atom_64
Android NDK: Not Found
Windows SDK: Not Found
IDEs:
Android Studio: Not Found
Visual Studio: Not Found
Languages:
Java: Not Found
Python: Not Found
npmPackages:
@react-native-community/cli: Not Found
react: 16.13.1 => 16.13.1
react-native: 0.63.3 => 0.63.3
react-native-windows: Not Found

Steps To Reproduce

I've left the code example down here, copy it and paste in App component of newly initializated react-native project on 0.63.3 version and try to open the app in fullscreen and split-screen, see the window height being the same(vertical split-screen).

Expected Results

Dimensions.get('window').height AND useWindowDimensions hook must return different results for app being resized by using split-screen, but it returns the same value on & on, but it works as expected in 0.62.2

Snack, code example, screenshot, or link to a repository:

  console.log('manual get height:', Dimensions.get('window').height);
  const {height} = useWindowDimensions();
  console.log('useWindowDimensions hook height:', height);

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Tái hiện vấn đề trên một thiết bị Android bằng các ví dụ Dimensions.get('window') và useWindowDimensions được cung cấp, đồng thời so sánh hành vi chia đôi màn hình trong React Native 0.63.3 với 0.62.2. Theo dõi các entry point của Dimensions và useWindowDimensions để xác định nơi các lần cập nhật kích thước cửa sổ khác nhau; hoàn thành khi cả hai API đều báo cáo chiều cao màn hình chia đôi sau khi thay đổi kích thước.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
android, react-native
Lĩnh vực
mobile
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.