2017-01-19 2 views
13

처음 신청 후 메인 페이지로 이동하기 전에 간단한 둘러보기를 통해 사용자를 안내하는 응용 프로그램을 개발 중입니다. 내가 뭘하고 싶은 다음과 같은 디자인으로합니다 (TabBar의를 통해 본) 응용 프로그램 페이지 오버레이입니다 :반응 네이티브에서 부동 툴팁을 어떻게 추가 할 수 있습니까?

enter image description here

을하지만 기본 오버레이의 여파로 많은 오류를 떠나 역사를 가지고 반작용 -도있다 개인적으로 저를 위해 일해 왔습니다. React Native ToolTip 모듈은 더 이상 지원되지 않으며 작동하지 않습니다. 아무도 이것을 성취하지 못했습니까? 그렇다면 어떻게? 귀하의 조언에 감사드립니다!

+3

내 질문을 편집 할 수 있도록 아래쪽 투표에 대한 추리를하십시오. –

+0

저는 수동으로 수행 한 거품을 그릴 수있는 https://github.com/Jpoliachik/react-native-triangle을 사용하고 있습니다. 또한 애니메이션에 반응하는 '반응식 - 애니메이션 - 애니메이션 가능' – jose920405

답변

-3

아마도 사용자 정의 툴팁 구성 요소를 만들 수 있습니다. https://codepen.io/vtisnado/pen/WEoGey

class SampleApp extends React.Component { 
    render() { 
    return (
     /******************* RENDER VISUAL COMPONENTS *******************/ 
     <View style={styles.container}> 
     <View style={styles.mainView}> 
      {/* Start: Tooltip */} 
      <View style={styles.talkBubble}> 
      <View style={styles.talkBubbleSquare}> 
       <Text style={styles.talkBubbleMessage}>Put whatever you want here. This is just a test message :)</Text> 
      </View> 
      <View style={styles.talkBubbleTriangle} /> 
      </View> 
      {/* End: Tooltip */} 
      <View style={styles.anotherView} /> {/* The view with app content behind the tooltip */} 
     </View> 
     </View> 
     /******************* /RENDER VISUAL COMPONENTS *******************/ 
    ); 
    } 
} 

/******************* CSS STYLES *******************/ 
const styles = StyleSheet.create({ 
    container: { 
    flex: 1, 
    justifyContent: 'center', 
    alignItems: 'center', 
    backgroundColor: '#F5FCFF' 
    }, 
    mainView: { 
    flex: 1, 
    flexDirection: 'row', 
    }, 
    talkBubble: { 
    backgroundColor: 'transparent', 
    position: 'absolute', 
    zIndex: 2, // <- zIndex here 
    flex: 1, 
    left: 20, 
    //left: (Dimensions.get('window').width/2) - 300, // Uncomment this line when test in device. 
    bottom: 60, 
    }, 
    talkBubbleSquare: { 
    width: 300, 
    height: 120, 
    backgroundColor: '#2C325D', 
    borderRadius: 10 
    }, 
    talkBubbleTriangle: { 
    position: 'absolute', 
    bottom: -20, 
    left: 130, 
    width: 0, 
    height: 0, 
    borderLeftWidth: 20, 
    borderRightWidth: 20, 
    borderTopWidth: 20, 
    borderLeftColor: 'transparent', 
    borderRightColor: 'transparent', 
    borderTopColor: '#2C325D', 
    }, 
    talkBubbleMessage: { 
    color: '#FFFFFF', 
    marginTop: 40, 
    marginLeft: 20, 
    marginRight: 20, 
    }, 
    anotherView: { 
    backgroundColor: '#CCCCCC', 
    width: 340, 
    height: 300, 
    position: 'absolute', 
    zIndex: 1, // <- zIndex here 
    }, 
}); 
/******************* /CSS STYLES *******************/ 

UPDATE : 여기가 일부 CSS의 트릭과 Z- 색인 속성을 사용하여 다른 구성 요소의 전면에 표시되도록하는 방법에 매우 기본적인 예입니다 그것은 일부 사용자를 혼란스럽게 할 수 있기 때문에 나는 Codepen은 iframe 위젯을 제거, 위의 링크를 따라 예제를 확인하십시오.

+0

이 답변은 웹의 React에 대한 것으로, React Native for Mobile에는 맞지 않습니다. – AdamG

+0

CodePen의 예제를 확인 했습니까? 'const rootTag = document.getElementById ('react-root');를 제외한 모든 코드가 React-Native로 만들어진 것으로 가정하고 그 행은 웹을 통한 데모 용입니다. 아마 downvote 대답하기 전에 먼저주의 깊게 읽어야합니다. – vtisnado

+0

귀하의 답변은 도구 팁을 시각적으로 잘 나타내지 만 따라하기 매우 어렵습니다. iFrame을 보여주는 코드, 404 페이지로 연결되는 버튼, 마지막으로 iFrame 라인 중간을 파고 들면 도움이되는 코드가있는 URL을 찾을 수 있습니다. 당신이 더 나은 방법으로 그것을 다시 제시 할 수 있다면 나는 downvote를 제거해 주어 행복 할 것이다. – AdamG

0

보다는 렌더링하기 위해 도구 설명 구성 요소를 추가 복사 할 수 있습니다.

반응 네이티브의 모달이이를 달성하는 데 도움이된다고 생각하면 기능 소개 텍스트/이미지가있는 다른 모달을 쉽게 배치 할 수 있으며 이러한 텍스트/이미지의 가시성을 쉽게 전환 할 수 있습니다.

처음 상태에서 'menu'기능에 대한 설명자 텍스트가있는 모달 오버레이라고 말한 다음 사용자가 배경을 클릭하고 다음 항목을 볼 수있게 할 때 등의 표시를 false로 설정할 수 있습니다. 항목을 표시하려면 모달 자체 가시성을 false로 설정하고 기본 앱 흐름으로 이동하십시오.

설득력이 있습니까? ?

관련 문제