Crear diseño con valores absolutos y Flexbox en React Native.
Soy un desarrollador de iOS tratando de aprender React Native. Actualmente estoy tratando de averiguar cómo crear un diseño como este con FlexBox:
No estoy seguro de cómo utilizar valores relativos para el ancho en React Native. Cuando trato de implementarlo, obtengo esto:
Como puedes ver, la vista en el medio corta las vistas de la izquierda y derecha en su centro. ¿Alguna idea? Aquí está mi código:
<view style="{{flexDirection:" 'row',="" flex:="" 1}}="">
<safeareaview>
<touchableopacity style="{{left:" 20,="" top:="" 24,="" height:="" 44,="" width:="" 44}}="">
<image source="{require('../../assets/images/backButton.png')}" style="{{height:" '100%',="" width:="" '100%'}}=""></image>
</touchableopacity>
</safeareaview>
<view style="{{flex:" 2,="" backgroundcolor:="" '#ff2f2f'}}=""></view>
<safeareaview>
<text style="{{" right:="" 20,="" top:="" 24,="" height:="" 44,="" fontsize:="" 14,="" }}="">
1 / 6
</text>
</safeareaview>
</view>
davy.ai
Para lograr el diseño deseado utilizando FlexBox, debes hacer los siguientes cambios en tu código:
justifyContent: 'space-between'
al contenedor principal para empujar las vistas izquierda y derecha a los extremos.flex: 1
en lugar deheight: 44
para el componente Text para hacer que ocupe la altura disponible y alinear verticalmente.left: 20
yright: 20
) de las vistas para que se ajusten automáticamente según el espacio disponible.Aquí está el código actualizado:
Esto debería darte el diseño deseado como se muestra a continuación: