これは私のコンポーネントです:
const styles = {
menuContainer: {
flex: 1,
flexDirection: 'column'
},
menuItem: {
flex: 1,
borderRadius: ??
}
}
<View style={styles.menuContainer}>
<TouchableOpacity {styles.menuItem}/>
<TouchableOpacity {styles.menuItem}/>
</View>
反応ネイティブのbordeRadiusは、50%のようなパーセンテージでは機能せず、フレックスボックスでは各flexItemの幅がわかりません。各flexItemの幅を計算せずに何か考えがありますか?
悪いニュースです。コンテナの寸法が事前にわからない場合は、 onLayout
を使用して各フレックスコンテナの寸法を計算するしかありません。
{nativeEvent: { layout: {x, y, width, height}}}
固定の幅と高さを宣言できれば簡単ですが、これはニュースにはならないようです。
circle: {
width: 100,
height: 100,
borderRadius: 100/2
}
機能リクエスト この機能についてはすでに送信されています。ここで賛成票を投じて支持を示してください...
https://react-native.canny.io/feature-requests/p/borderradius-percentages
ごめんなさい!
flex
にborder-radius
を与えることはできないと思うので、デバイスのディメンションを取得してwidth
とheight
を使用し、ビューにborder-radius
を与えることができます。