ListView는 9제곱 그리드 효과 사례를 구현합니다.
이 글에서는 9제곱 그리드 효과를 구현하기 위한 React Native의 ListView 예제를 주로 소개합니다. 관심 있는 친구들은 참고해 보세요.
Overview
ListView는 매우 일반적으로 사용됩니다. 목록 컨트롤, 그렇다면 React Native(RN)는 이 기능을 어떻게 구현합니까? ListView의 소스 코드를 살펴보겠습니다.
ListView는 ScrollView를 기반으로 확장되므로 ScrollView의 관련 속성이 있습니다:
dataSource: 데이터 소스, Android에서 BaseAdapter에 전달하는 데이터 컬렉션과 유사 .
renderRow: BaseAdapter의 getItem 메서드와 유사하게 특정 행을 렌더링합니다.
onEndReached: 간단히 말해서 페이징 작업에 사용됩니다. Android의 기본 개발에서는 해당 메서드를 직접 구현해야 합니다.
onEndReachedThreshold: onEndReached를 호출하기 전의 임계값, 단위는 픽셀입니다.
refreshControl: RefreshControl 구성 요소를 지정하여 ScrollView에 대한 풀다운 새로 고침 기능을 제공합니다. (이 속성은 ScrollView에서 상속됩니다.)
renderHeader: Android ListView의 addHeader와 유사하게 헤드 뷰를 렌더링합니다.
위 속성은 기본적으로 그리드의 효과를 얻으려는 경우 몇 가지 일반적인 목록 요구 사항을 해결할 수 있습니다. Android의 RecyclerView 컨트롤과 다소 유사한 이 구성 요소의 도움을 받아도 달성할 수 있습니다.
pageSize: 렌더링된 그리드 수. Android GridView의 numColumns와 유사합니다.
contentContainerStyle: 이 속성은 ScrollView에서 상속되며 주로 이 구성 요소의 콘텐츠 컨테이너에 적용됩니다.
ListView를 사용하여 9제곱 그리드 효과를 얻으려면:
1. 페이지 크기를 구성하여 그리드 수를 확인합니다.
<ListView automaticallyAdjustContentInsets={false} contentContainerStyle={styles.grid} dataSource={this.state.dataSource} renderRow={this.renderRow.bind(this)} pageSize={3} refreshControl={ <RefreshControl onRefresh={this.onRefresh.bind(this)} refreshing={this.state.isLoading} colors={['#ff0000', '#00ff00', '#0000ff']} enabled={true} /> } />
2 각 그리드의 너비 스타일을 설정합니다.
itemLayout:{ flex:1, width:Util.size.width/3, height:Util.size.width/3, alignItems:'center', justifyContent:'center', borderWidth: Util.pixel, borderColor: '#eaeaea' },
3. contentContainerStyle 해당 속성 설정
grid: { justifyContent: 'space-around', flexDirection: 'row', flexWrap: 'wrap' },
여기서는 설명이 필요합니다. ListView의 기본 방향은 세로이므로 ListView의 contentContainerStyle 속성을 설정하고 flexDirection:'row'를 추가해야 합니다. 둘째, ListView가 같은 줄에 표시되고 flexWrap:'wrap' 설정을 통해 자동으로 래핑됩니다.
참고: flexWrap 속성: Wrap, nowrap, Wrap: 공간이 부족할 때 자동으로 줄 바꿈, nowrap: 공간이 부족하고 컨테이너를 압축하며 자동으로 줄 바꿈되지 않습니다.
전체 코드는 다음과 같습니다.
import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View, ListView, Image, TouchableOpacity, // 不透明触摸 AlertIOS } from 'react-native'; // 获取屏幕宽度 var Dimensions = require('Dimensions'); const screenW = Dimensions.get('window').width; // 导入json数据 var shareData = require('./shareData.json'); // 一些常亮设置 const cols = 3; const cellWH = 100; const vMargin = (screenW - cellWH * cols) / (cols + 1); const hMargin = 25; // ES5 var ListViewDemo = React.createClass({ // 初始化状态值(可以变化) getInitialState(){ // 创建数据源 var ds = new ListView.DataSource({rowHasChanged:(r1,r2) => r1 !== r2}); return{ dataSource:ds.cloneWithRows(shareData.data) } }, render(){ return( <ListView dataSource={this.state.dataSource} renderRow={this.renderRow} contentContainerStyle={styles.listViewStyle} /> ); }, // 返回cell renderRow(rowData){ return( <TouchableOpacity activeOpacity={0.8} onPress={()=>{AlertIOS.alert('点击了')}} > <View style={styles.innerViewStyle}> <Image source={{uri:rowData.icon}} style={styles.iconStyle} /> <Text>{rowData.title}</Text> </View> </TouchableOpacity> ); }, }); const styles = StyleSheet.create({ listViewStyle:{ // 主轴方向 flexDirection:'row', // 一行显示不下,换一行 flexWrap:'wrap', // 侧轴方向 alignItems:'center', // 必须设置,否则换行不起作用 }, innerViewStyle:{ width:cellWH, height:cellWH, marginLeft:vMargin, marginTop:hMargin, // 文字内容居中对齐 alignItems:'center' }, iconStyle:{ width:80, height:80, }, }); AppRegistry.registerComponent('ListViewDemo', () => ListViewDemo);
효과는 그림과 같습니다. (데이터 소스는 직접 추가합니다.)
위 내용은 ListView는 9제곱 그리드 효과 사례를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Internet Explorer가 오랫동안 인기를 끌지 못했다는 것은 비밀이 아니지만 Windows 11이 출시되면서 현실이 시작되었습니다. 나중에 IE를 대체하는 경우도 있지만 이제 Edge는 Microsoft 최신 운영 체제의 기본 브라우저입니다. 현재로서는 Windows 11에서 Internet Explorer를 계속 활성화할 수 있습니다. 그러나 IE11(최신 버전)은 이미 공식적인 종료 날짜인 2022년 6월 15일을 갖고 있으며 시계는 계속 흐르고 있습니다. 이를 염두에 두고 Internet Explorer가 때때로 Edge를 여는 것을 발견했을 수 있으며 마음에 들지 않을 수도 있습니다. 그럼 왜 이런 일이 일어나는 걸까요? 존재하다

점점 더 많은 사용자들이 win11 시스템을 업그레이드하기 시작하고 있습니다. 사용자마다 사용 습관이 다르기 때문에 여전히 많은 사용자들이 ie11 브라우저를 사용하고 있습니다. 그렇다면 win11 시스템에서 ie 브라우저를 사용할 수 없으면 어떻게 해야 합니까? windows11은 여전히 ie11을 지원하나요? 해결책을 살펴보겠습니다. win11에서 ie11 브라우저를 사용할 수 없는 문제 해결 방법 1. 먼저 시작 메뉴를 마우스 오른쪽 버튼으로 클릭한 후 "명령 프롬프트(관리자)"를 선택하여 엽니다. 2. 연 후 "Netshwinsockreset"을 직접 입력하고 Enter를 눌러 확인합니다. 3. 확인 후 "netshadvfirewallreset&rdqu"를 입력하세요.

최근 많은 win10 사용자는 컴퓨터 브라우저를 사용할 때 IE 브라우저가 항상 자동으로 엣지 브라우저로 이동한다는 사실을 발견했습니다. 그러면 win10에서 IE를 열 때 자동 엣지 브라우저로 이동을 끄는 방법은 무엇입니까? 이 사이트에서는 win10에서 IE를 열 때 자동으로 가장자리로 이동하고 닫는 방법을 사용자에게 주의 깊게 소개합니다. 1. 엣지 브라우저에 로그인하고 오른쪽 상단에서...를 클릭하고 드롭다운 설정 옵션을 찾습니다. 2. 설정을 입력한 후 왼쪽 열에서 기본 브라우저를 클릭합니다. 3. 마지막으로 호환성에서 웹사이트가 IE 모드에서 다시 로드되는 것을 허용하지 않는 확인란을 선택하고 IE 브라우저를 다시 시작합니다.

삭제할 수 없는 IE 바로가기 해결 방법: 1. 권한 문제, 3. 소프트웨어 충돌, 5. 악성 소프트웨어, 7. IE 재설치, 9. 바로가기의 대상 경로를 확인하세요. 10. 다른 요소를 고려하세요. 11. 전문가에게 문의하세요. 자세한 소개: 1. 권한 문제, 바로가기를 마우스 오른쪽 버튼으로 클릭하고 "보안" 탭에서 "속성"을 선택한 후 바로가기를 삭제할 수 있는 권한이 있는지 확인하세요. 그렇지 않은 경우 관리자로 실행해 보세요. .

2022년 6월 15일은 Microsoft가 IE11(Internet Explorer 11)에 대한 지원을 종료하고 레거시 브라우저 장을 마감하는 날입니다. 회사는 한동안 사용자에게 이 수명 종료 날짜를 상기시키고 Microsoft Edge로의 전환을 계획할 것을 촉구해 왔습니다. Microsoft는 Windows용 최신 기본 웹 브라우저로 IE11을 Windows 8.1에 번들로 제공합니다. 비록 (현재의) Chrome 수준에는 도달하지 못했지만 2014년에는 IE8에 이어 두 번째로 많이 사용된 데스크톱 브라우저였습니다. 물론 20으로

IE 가속 기능을 활성화하는 방법은 무엇입니까? IE는 웹 페이지를 열기에는 너무 느립니다. IE에서 하드웨어 가속 모드를 활성화할 수 있습니다. 많은 친구들이 IE 브라우저를 사용할 때 웹 페이지를 여는 속도가 매우 느리고 이는 웹 탐색에도 일정한 영향을 미친다고 보고했습니다. 이런 경우에는 IE 브라우저의 하드웨어 가속 모드를 켜면 됩니다. 관심 있으신 분들은 아래에 IE의 가속 기능을 켜는 방법을 정리했습니다. , 아래를 살펴보세요! IE에서 가속 기능을 활성화하려면 IE 보안 브라우저를 열고 오른쪽 상단에 있는 톱니바퀴 모양의 "설정" 아이콘을 클릭한 후 그림과 같이 "인터넷 옵션"을 선택하여 들어갑니다. 2. 그림과 같이 인터넷 옵션 창 상단에 있는 탭 탐색에서 "고급"을 클릭하세요. 삼.

win7에서 ie9를 제거하는 방법은 무엇입니까? 컴퓨터는 직장에서 일을 처리할 수 있으며 TV 프로그램을 시청하는 데에도 사용될 수 있습니다. 드라마를 보는 것과 마찬가지로 브라우저를 사용하여 시청하는 경우가 늘어나고 있으며, 브라우저의 기능도 완벽하기 때문에 이제 ie9 브라우저를 사용하는 사람은 점점 줄어들고 있습니다. 그렇다면 win7에서 브라우저를 제거하는 방법은 무엇일까요? 시스템에서 IE9 브라우저를 제거합니다. win7에서 ie9 브라우저를 제거하는 방법. 1. 먼저 두 번 클릭하여 MyPC를 열고 프로그램 제거 또는 교체를 선택합니다. 2. 그런 다음 "ViewInstallUpdate"를 찾아 클릭합니다. 내부에서 "windows Internet Explorer9"을 찾은 후 마우스 오른쪽 버튼을 클릭하여 삭제하세요. 위의 내용은 wi가 포함된 편집기입니다.

많은 사용자가 Windows의 Internet Explorer 브라우저를 사용하는 데 익숙하지만 Win11 시스템을 업그레이드한 후 시스템에서 Internet Explorer 브라우저를 찾을 수 없다는 사실을 알게 되었습니다. 따라서 Win11에 Internet Explorer 브라우저가 포함되어 있는지 알고 싶다면 다음을 확인해 보세요. 편집자를 따라가서 확인해 보세요. 한번 시도해 보세요. win11은 IE 브라우저와 함께 제공됩니까? 답변: Win11은 IE 브라우저와 함께 제공되지 않습니다. 1. Microsoft는 이전에 win11 시스템에 더 이상 자체 IE 브라우저가 제공되지 않을 것이라고 밝혔습니다. 2. 그러나 win11에서는 엣지 브라우저를 통해 IE 모드를 활성화할 수 있습니다. 3. 먼저 그림과 같이 오른쪽 상단에 있는 점 3개를 클릭하세요. 4. 그런 다음 열리는 메뉴에서 "설정"을 클릭합니다. 5. 그런 다음 왼쪽 사이드바에서 "기본 브라우저"를 찾아 입력합니다. 6. 여기에서는 IE 모드가 허용됩니다.
