#react-native #react-native-scrollable-tab-view
#react-native #react-native-scrollable-tab-view
Вопрос:
Я использую ScrollableTabView, и у меня возникла проблема при переключении между вкладками. В моем приложении у меня есть 3 вкладки: все, Популярные, меню. Когда я нахожусь на вкладке «Все», я вижу вкладку меню на вкладке «Все».
это мой HomeScreen.js :
import React from 'react';
import { StyleSheet, View, Text, ImageBackground, Dimensions } from 'react-native';
import ScrollableTabView, { DefaultTabBar } from 'react-native-scrollable-tab-view';
import All from '../src/components/All';
import Menu from '../src/components/Menu';
import Popular from '../src/components/Popular';
const HomeScreen = () => {
return (
<View style={styles.container}>
<View style={styles.header}>
<ImageBackground
source={require("../src/assets/header.png")}
style={styles.imageBackground}
resizeMode="contain"
>
<Text style={styles.title}>HOME</Text>
</ImageBackground>
</View>
<View style={styles.tabbar}>
<ScrollableTabView
initialPage={0}
renderTabBar={() =>
<DefaultTabBar underlineStyle={{ backgroundColor: 'green' }} style={{ borderWidth: 0 }} />}
tabBarActiveTextColor="green"
>
<All tabLabel="All" />
<Menu tabLabel="Menu" />
<Popular tabLabel="Popular" />
</ScrollableTabView>
</View>
</View>
);
}
const { width } = Dimensions.get('screen');
const styles = StyleSheet.create({
container: {
flex: 1,
},
header: {
marginTop: 10,
position: 'absolute'
},
tabbar: {
flex: 1,
marginTop: width * 0.3,
paddingHorizontal: 30,
},
imageBackground: {
width: width * 0.4,
height: width * 0.4,
alignItems: 'center'
},
title: {
color: 'white',
marginTop: 20,
fontWeight: 'bold',
fontSize: 25
}
});
export default HomeScreen;
Может кто-нибудь дать мне объяснение?
Ответ №1:
Проверьте свои стили.панель вкладок:
tabbar: {
flex: 1,
marginTop: width * 0.3,
paddingHorizontal: 30,
},
Вы должны удалить paddingHorizontal отсюда
Комментарии:
1. я хочу, чтобы в панели вкладок было немного горизонтального отступа, как я могу это сделать?
2. вы должны предоставить его стилю компонента DefaultTabBar вместо полного представления, которое переносит все вкладки
3. это не работает, я попытался установить paddingHorizontal для представления контейнера, он все еще не работает
4. Можете ли вы просто удалить родительский вид компонента ScrollableTabView, а не основной, я говорю о том, у которого есть style prop styles.tabbar