如何更改本机基本选项卡中选定的选项卡图标颜色?

编程入门 行业动态 更新时间:2024-10-27 22:24:56
本文介绍了如何更改本机基本选项卡中选定的选项卡图标颜色?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

这是 react-native 的一个片段.我需要将选定的选项卡图标颜色更改为 tabBar 下划线颜色.怎么做?我正在尝试编写一个类似于 twitter android 应用程序的标签栏.

const TabBar = () =>{返回 (<Tabs tabBarUnderlineStyle={styles.tabBarUnderline}><标签Heading={<Icon name="home" size={30} color="#B0BEC5"/></TabHeading>}><Tab1/></Tab><标签Heading={<TabHeading style={styles.tabHeading} ><Icon name="search" size={30} color="#B0BEC5"/></TabHeading>}><Tab1/></Tab><标签Heading={<TabHeading style={styles.tabHeading}><Icon name="notifications" size={30} color="#B0BEC5"/></TabHeading>}><Tab1/></Tab><标签Heading={<TabHeading style={styles.tabHeading}><Icon name="email" size={30} color="#B0BEC5"/></TabHeading>}><Tab1/></Tab></Tabs>);};const 样式 = StyleSheet.create({标签标题:{背景颜色:'白色',},tabBar下划线:{背景颜色:'#29B6F6',高度:3}});导出默认 TabBar;

解决方案

你只需要这样做

class TabIcon extends Component {使成为() {var color = this.props.focused ?'#5C6BC0':'#E4E3E3';返回 (<视图样式={{flex:1, flexDirection:'column', alignItems:'center', alignSelf:'center', justifyContent: 'center'}}><图标名称={this.props.title} size={30} color={color}/>}</查看></查看>);}}类 App 扩展组件 {使成为 () {返回 (<路由器><Scene hideNavBar key="tabbar" type="reset" duration={1} initial={true}><Scene key='main' showLabel={false} tabs={true} activeTintColor="#FF5722" titleStyle={styles.title} tabBarStyle={styles.tabBar} default="tab1"><场景键='tab1'标题='搜索1'组件={home}图标={TabIcon}navBar={elementsHeader}/><场景键='tab2'组件={home}图标={TabIcon}标题='电源睡眠'navBar={elementsHeader}/><场景键='tab3'标题='书'组件={home}图标={TabIcon}navBar={elementsHeader}/><场景键='tab4'标题='设置'组件={home}图标={TabIcon}navBar={elementsHeader}/></场景></场景></路由器>)}}

reference => gist.github/rturk/858c1afaee170a3a1652>83dae/p>

This is a snippet of react-native. I need to change the selected tabs icon color to tabBar underline color. How to do it? I am trying code a tab bar like on the twitter android app.

const TabBar = () => { return ( <Tabs tabBarUnderlineStyle={styles.tabBarUnderline}> <Tab heading={<TabHeading style={styles.tabHeading}> <Icon name="home" size={30} color="#B0BEC5" /> </TabHeading>} > <Tab1 /> </Tab> <Tab heading={<TabHeading style={styles.tabHeading} ><Icon name="search" size={30} color="#B0BEC5" /></TabHeading>} > <Tab1 /> </Tab> <Tab heading={<TabHeading style={styles.tabHeading}><Icon name="notifications" size={30} color="#B0BEC5" /></TabHeading>} > <Tab1 /> </Tab> <Tab heading={<TabHeading style={styles.tabHeading}><Icon name="email" size={30} color="#B0BEC5" /></TabHeading>} > <Tab1 /> </Tab> </Tabs> ); }; const styles = StyleSheet.create({ tabHeading: { backgroundColor: 'white', }, tabBarUnderline: { backgroundColor: '#29B6F6', height: 3 } }); export default TabBar;

解决方案

You only need to do something like that

class TabIcon extends Component { render() { var color = this.props.focused ? '#5C6BC0' : '#E4E3E3'; return ( <View style={{flex:1, flexDirection:'column', alignItems:'center', alignSelf:'center', justifyContent: 'center'}}> <View> <Icon name={this.props.title} size={30} color={color} />} </View> </View> ); } } class App extends Component { render () { return ( <Router> <Scene hideNavBar key="tabbar" type="reset" duration={1} initial={true}> <Scene key='main' showLabel={false} tabs={true} activeTintColor="#FF5722" titleStyle={styles.title} tabBarStyle={styles.tabBar} default="tab1"> <Scene key='tab1' title='search1' component={home} icon={TabIcon} navBar={elementsHeader} /> <Scene key='tab2' component={home} icon={TabIcon} title='power-sleep' navBar={elementsHeader} /> <Scene key='tab3' title='book' component={home} icon={TabIcon} navBar={elementsHeader} /> <Scene key='tab4' title='setting' component={home} icon={TabIcon} navBar={elementsHeader} /> </Scene> </Scene> </Router> ) } }

reference => gist.github/rturk/858c1afaee170a3a141adc7da652883e

更多推荐

如何更改本机基本选项卡中选定的选项卡图标颜色?

本文发布于:2023-11-07 04:08:50,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1565536.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:选项卡   本机   图标   如何更改   颜色

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!