Reactネイティブアプリのヘッダーには、条件付きアイコンと Searchbar があります。
static navigationOptions = ({ navigation }) => {
const { params = {} } = navigation.state;
return {
headerTitle: (
<View
style={{
flex: 1,
backgroundColor: Platform.OS === 'ios' ? '#e54b4d' : '',
alignItems: 'center',
flexDirection: 'row',
paddingHorizontal: 10,
height: StatusBar.currentHeight,
}}>
{params.isIconTriggered && <Icon name="chevron-left" size={28} />}
<SearchBar
round
platform={'default'}
placeholder="Search"
containerStyle={{
flex: 1,
backgroundColor: 'transparent',
}}
/>
</View>
),
headerStyle: {
backgroundColor: '#e54b4d',
},
};
};
通常、検索バーはヘッダーの全幅を取得します。条件isIconTriggered
がtrueの場合、アイコンは検索バーの前に表示され、検索バーの幅はアイコンの隣に表示されるように十分に縮小されます。
ただし、これが発生しても移行やアニメーションは発生せず、見栄えも良くありません。検索バーにアニメーションを追加して、条件がトリガーされてアイコンが表示されたときに幅が徐々にスムーズに縮小するようにしたいと思います。
それを達成することは可能ですか?これをどのように達成できますか?