Nativebase: Segment overflow with three buttons only.

Created on 22 May 2018  路  2Comments  路  Source: GeekyAnts/NativeBase

Segments overflowing in parent view with only three buttons.
It looks like as:

simulator screen shot - iphone 6 - 2018-05-22 at 12 23 01

Can not apply the styles also.

bug

Most helpful comment

@dev-pacific22 try changing segment button's padding (paddingLeft and paddingRight).
Sample code

import React, { Component } from 'react';
import { StyleSheet } from "react-native";
import { Container, Header, Left, Body, Right, Button, Icon, Title, Segment, Content, Text } from 'native-base';
export default class App extends Component {

  state = { selected: 1 }

  render() {
    return (
      <Container>
        <Header>
          <Left>
            <Button transparent>
              <Icon name="arrow-back" />
            </Button>
          </Left>
          <Body>
            <Title>Forms</Title>
          </Body>
          <Right>
            <Button transparent>
              <Icon name="search" />
            </Button>
          </Right>
        </Header>
        <Segment>
          <Button first active={this.state.selected === 1} style={styles.segmentButton} onPress={() => this.setState({ selected: 1 })}>
            <Text >Get Started</Text>
          </Button>
          <Button active={this.state.selected === 2} style={styles.segmentButton} onPress={() => this.setState({ selected: 2 })}>
            <Text>In Progress</Text>
          </Button>
          <Button last active={this.state.selected === 3} style={styles.segmentButton} onPress={() => this.setState({ selected: 3 })}>
            <Text>Completed</Text>
          </Button>
        </Segment>
        <Content padder>
          <Text>Segment</Text>
        </Content>
      </Container>
    );
  }
}

const styles = StyleSheet.create({
  segmentButton: {
    paddingLeft: 0,
    paddingRight: 0
  }
})

simulator screen shot - iphone 6 - 2018-05-23 at 17 10 32

All 2 comments

@dev-pacific22 try changing segment button's padding (paddingLeft and paddingRight).
Sample code

import React, { Component } from 'react';
import { StyleSheet } from "react-native";
import { Container, Header, Left, Body, Right, Button, Icon, Title, Segment, Content, Text } from 'native-base';
export default class App extends Component {

  state = { selected: 1 }

  render() {
    return (
      <Container>
        <Header>
          <Left>
            <Button transparent>
              <Icon name="arrow-back" />
            </Button>
          </Left>
          <Body>
            <Title>Forms</Title>
          </Body>
          <Right>
            <Button transparent>
              <Icon name="search" />
            </Button>
          </Right>
        </Header>
        <Segment>
          <Button first active={this.state.selected === 1} style={styles.segmentButton} onPress={() => this.setState({ selected: 1 })}>
            <Text >Get Started</Text>
          </Button>
          <Button active={this.state.selected === 2} style={styles.segmentButton} onPress={() => this.setState({ selected: 2 })}>
            <Text>In Progress</Text>
          </Button>
          <Button last active={this.state.selected === 3} style={styles.segmentButton} onPress={() => this.setState({ selected: 3 })}>
            <Text>Completed</Text>
          </Button>
        </Segment>
        <Content padder>
          <Text>Segment</Text>
        </Content>
      </Container>
    );
  }
}

const styles = StyleSheet.create({
  segmentButton: {
    paddingLeft: 0,
    paddingRight: 0
  }
})

simulator screen shot - iphone 6 - 2018-05-23 at 17 10 32

Released with 2.5.0

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Bundas picture Bundas  路  3Comments

maphongba008 picture maphongba008  路  3Comments

mcpracht picture mcpracht  路  3Comments

Cotel picture Cotel  路  3Comments

agersoncgps picture agersoncgps  路  3Comments