Commit Graph

10 Commits

Author SHA1 Message Date
Krzysztof Magiera
d4636d3130 Android native stack bugfixes. (#190)
A few bugs fixed with android native stack in this commit:
 - fixed a problem with views not resizing when keyboard appears, the bug was due to onMeasure forwardin getHeight which was the old height of the container instead of the changed one
 - fixed a problem with back button behavior not being consistent. Now back button is controlled by 'gestureEnabled' to emulate iOS behavior where there is no hw back button but you can swipe back instead.
 - added compatibility for "contained" modal styles - for now we always render "containted" fragments on Android, plan to add a way to render in dialogs in the future
2019-10-22 23:22:48 +02:00
Krzysztof Magiera
4a9a3a877a Fix header rendering – layout and transparency (#184)
* Let UINavController control subcontroller view's frames.

This PR changes the way we've been handling yoga <> NavController layout interactions. Now we ignore frame updates coming from react for the main Screen view to allow NavController take the controll. In order to keep yoga working we now use `setSize` to pass the dimensions of the view back to yoga such that it can properly calculate layout of the views under Screen component.

* Header resizing fixes for Android.

In this change we use CoordinatorLayout as a stack screen container to handle rendering of toolbar and screen content. Thanks to this approach we can support collapsable bars in the future. Instead of relying on RN to layout screen container when renered under ScreenStack we rely on Android native layout to measure and position screen content and then use UIManager.setNodeSize to communicate that back to react.
2019-10-18 15:08:39 +02:00
Krzysztof Magiera
6508386424 Fix issue with soft keyboard not showing from time to time on Android (#152) 2019-09-09 15:14:24 +02:00
Krzysztof Magiera
80a466970e Navigation stack native primitives (#139)
Adds support for stack navigation primitives (UINavigationViewController and Android fragment container with back button support)
2019-09-05 13:55:14 +02:00
bpeyrou
ed826d7b91 Upgrade from android support v4 to androidX (#68) 2019-07-04 10:57:58 +02:00
Maytee Chinavanichkit
54b5e75b11 Fix non ascii character in comment (#82)
I was getting the following compilation errors when I pulled in this repo.

```
error: unmappable character for encoding ASCII
```

The root cause seems to be the character below was not from the ASCII set.
2019-03-28 11:25:54 +01:00
Krzysztof Magiera
ac719105ac Android: Disable touch interaction on screens that are transitioning (#51) 2018-12-20 10:02:56 +01:00
Krzysztof Magiera
68a02d58d7 Android alpha compositing (#50)
This change adds an ability for screen container on Android to apply the correct mechanism for transparent layer blending. This is specifically important as screens are usually a complex views that may displays many layers and while transitioning often opacity is used to animate these. When we detect screen transitioning we (a) turn on offscreen alpha compositing (which makes the opacity being applied for the whole screen layer at once instead of making all the children semi-transparent) and also (b) turn on hardware layer that makes offscreen compositing render to GPU (which is both faster and consumes only GPU memory).

In addition to that change we also need to disable wrapping Screen's children with View, as in such a case opacity is applied on the underlying View instead of a Screen. That workaround has been added because of a bug in Animated library and fixed in RN 0.57+
2018-12-20 09:06:28 +01:00
Krzysztof Magiera
70c022c628 Fix mounting nested fragments in the same transaction 2018-08-21 11:02:39 +02:00
Krzysztof Magiera
31281d6b68 Initial commit. 2018-08-03 13:54:11 +02:00