NativeBaseで構築された私のreactNativeアプリのiOSバージョンでは、特定の幅が指定されていない限り、すべてが細すぎます。以下の画像を参照してください。ヘッダーとフッターの幅を100%に設定したので問題ありませんが、入力に対してはそれを行っておらず、スキニーすぎます。ヘッダーとフッターは、幅も指定されていない場合は非常に細いです。
コード:
import React from 'react'
import {
Container,
Header,
Form,
Item,
Input,
Label,
Content,
Footer,
FooterTab,
Button,
Left,
Right,
Body
} from 'native-base'
import { Text, Image } from 'react-native'
export const Volcalc = () => {
return (
<Container style={styles.container}>
<Header style={styles.header}>
<Left>
<Image resizeMode={Image.resizeMode.contain} style={styles.thumbnail} source={require('./img/logo_red_nowords.png')} />
</Left>
<Body>
</Body>
<Right />
</Header>
<Content>
<Form>
<Item stackedLabel bordered >
<Label>height</Label>
<Input />
</Item>
<Item stackedLabel >
<Label>width</Label>
<Input />
</Item>
</Form>
</Content>
<Footer >
<FooterTab style={styles.footer}>
<Button full>
<Text>Footer 1</Text>
</Button>
</FooterTab>
</Footer>
</Container>
)
}
const $mainColor = '#00d1b2'
const styles = {
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: $mainColor
},
header: {
width: '100%',
backgroundColor: $mainColor
},
footer: {
width: '100%',
backgroundColor: $mainColor
},
thumbnail: {
width: 35,
height: 35
}
}
幅を指定せずにinput
sとheader
を追加できるはずであり、Android)のように全幅を占めるはずです。 =指定しない場合は行います。これを引き起こしているプロジェクトの何が問題になっている可能性がありますか?
width: '100%'
is react nativeでサポートされており、親の幅の100%を使用します。
あなたの問題はjustifyContent:'center'
およびalignItems:'center'
の中に styles.container
、それらはすべての要素をコンポーネントの中心に配置させています。コンテンツコンポーネントに独特の背景色を追加して、それがどこにあり、どのくらいの幅があるかを確認できます。
このスタイルを追加してみてください:
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: $mainColor,
flexDirection: 'row' // <--- Add this line
}
上記の提案とは別に、「ToggleInspector」を使用してスタイル属性を取得できます。しかし、開発中にReact Nativeアプリが、以前の状態でスタックすることがあることもわかりました。アンインストールして再インストールしてみてください。