ReactNative ListView控制元件屬性和樣式
基本使用方式
//建構函式中繫結資料 constructor(props) { super(props); let ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2}) // 初始狀態 this.state = { dataSource: ds.cloneWithRows(PublishData.data) }; } //方法中進行資料處理,並放到控制元件位置 onBindRow(rowData){ let content = []; let data = rowData.data; data.map((o, i) => { content.push( <View key={i}> <Text style={styles.text} numberOfLines={1}>{o.name}</Text> <Text style={styles.textDetail} numberOfLines={1}>{o.value}</Text> </View> ) }); return ( <View style={styles.container}> {content} </View> ) } //render中設定控制元件 render() { return ( <View style={styles.flex}> <ListView dataSource={this.state.dataSource} renderRow={this.onBindRow.bind(this)} /> </View> ) }
屬性
ScrollView 全部屬性
dataSource:
設定ListView的資料來源
initialListSize:
指定在元件剛掛載的時候渲染多少行資料。用這個屬性來確保首屏顯示合適數量的資料,而不是花費太多幀逐步顯示出來
onChangeVisibleRows:
((visibleRows, changedRows) => void)當可見的行的集合變化的時候呼叫此回撥函式。visibleRows 以 { sectionID: { rowID: true }}的格式包含了所有可見行,而changedRows 以{ sectionID: { rowID: true | false }}的格式包含了所有剛剛改變了可見性的行,其中如果值為true表示一個行變得可見,而為false表示行剛剛離開可視區域而變得不可見
onEndReached:
當所有的資料都已經渲染過,並且列表被滾動到距離最底部不足onEndReachedThreshold個畫素的距離時呼叫。原生的滾動事件會被作為引數傳遞。譯註:當第一次渲染時,如果資料不足一屏(比如初始值是空的),這個事件也會被觸發
onEndReachedThreshold:
呼叫onEndReached之前的臨界值,單位是畫素
pageSize:
每次事件迴圈(每幀)渲染的行數
removeClippedSubviews:
用於提升大列表的滾動效能。需要給行容器新增樣式overflow:‘hidden’。(Android已預設新增此樣式)此屬性預設開啟
renderFooter:
(() =>renderable)頁頭與頁尾會在每次渲染過程中都重新渲染(如果提供了這些屬性)。如果它們重繪的效能開銷很大,把他們包裝到一個StaticContainer或者其它恰當的結構中。頁尾會永遠在列表的最底部,而頁頭會在最頂部
renderHeader:
在每一次渲染過程中Footer(尾)該會一直在列表的底部,header(頭)該會一直在列表的頭部
renderRow:
(rowData, sectionID, rowID, highlightRow) => renderable
- 從資料來源(Data source)中接受一條資料,以及它和它所在section的ID。返回一個可渲染的元件來為這行資料進行渲染。預設情況下引數中的資料就是放進資料來源中的資料本身,不過也可以提供一些轉換器
- 如果某一行正在被高亮(通過呼叫highlightRow函式),ListView會得到相應的通知。當一行被高亮時,其兩側的分割線會被隱藏。行的高亮狀態可以通過呼叫highlightRow(null)來重置
renderScrollComponent:
(props) => renderable指定一個函式,在其中返回一個可以滾動的元件。ListView將會在該元件內部進行渲染。預設情況下會返回一個包含指定屬性的ScrollView
enderSectionHeader:
(sectionData, sectionID) => renderable
- 如果提供了此函式,會為每個小節(section)渲染一個粘性的標題。
- 粘性是指當它剛出現時,會處在對應小節的內容頂部;繼續下滑當它到達螢幕頂端的時候,它會停留在螢幕頂端,一直到對應的位置被下一個小節的標題佔據為止
renderSeparator:
(sectionID, rowID, adjacentRowHighlighted) => renderable
如果提供了此屬性,一個可渲染的元件會被渲染在每一行下面,除了小節標題的前面的最後一行。在其上方的小節ID和行ID,以及鄰近的行是否被高亮會作為引數傳遞進來
scrollRenderAheadDistance:
當一個行接近螢幕範圍多少畫素之內的時候,就開始渲染這一行
stickyHeaderIndices(只支援iOS):
一個子檢視下標的陣列,用於決定哪些成員會在滾動之後固定在螢幕頂端。舉個例子,傳遞stickyHeaderIndices={[0]}會讓第一個成員固定在滾動檢視頂端。這個屬性不能和horizontal={true}一起使用
方法
getMetrics():
匯出一些用於效能分析的資料
scrollTo(…args)
:滾動到指定的x,y偏移處,可以指定是否加上過渡動畫。
相關推薦
ReactNative ListView控制元件屬性和樣式
基本使用方式 //建構函式中繫結資料 constructor(props) { super(props); let ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !=
ReactNative View控制元件屬性和樣式
屬性: numberOfLines 文字行數限制,新增後超過限制行數文字會在末尾預設以…的形式省略。 ellipsizeMode 設定文字縮略格式,配合numberOfLines使用,values: * tail:在末尾…省略(預設值) *
ReactNative Picker控制元件屬性和樣式
屬性 該控制元件可以使用View控制元件的全部屬性 onValueChange function 某一項被選中時執行此回撥。呼叫時帶有如下引數: itemValue: 被選中項的value屬性 itemPosition: 被選中項在picker中的索引位置
ReactNative Image控制元件屬性和樣式
用法 載入本地圖片 <Image source={require('./img/baidu.png')}/> 載入App內資源圖片 <Image source={{uri: 'ic_launcher'}} /> 載入網路圖片 <
ReactNative Touchable控制元件屬性和樣式
TouchableHighlight(高亮觸控) 注:TouchableHighlight只能進行一層巢狀,不能多層巢狀,如果需要多層巢狀就要用View包裝 activeOpacity: 設定元件在進行觸控時候,顯示的不透明度(取值:0 ~ 1) onHideU
React Native之Text控制元件屬性和樣式
屬性 numberOfLines 文字行數限制,新增後超過限制行數文字會在末尾預設以…的形式省略。 ellipsizeMode 設定文字縮略格式,配合numberOfLines使用,values: * tail:在末尾…省略(預設值) * c
ReactNative Progress(ProgressBarAndroid、ProgressViewIOS)控制元件的屬性和樣式
ProgressBarAndroid 屬性方法 支援View控制元件的屬性方法 從View控制元件中繼承下來, 例如:大小,佈局,邊距 color 設定進度的顏色屬性值 indeterminate 設定
ReactNative DrawerLayoutAndroid控制元件的屬性、樣式、方法
drawerPosition 抽屜的位置,指定在那邊開啟 DrawerConsts.DrawerPosition.Left DrawerConsts.DrawerPosition.Right dra
Winform下使用ListView控制元件和ImageList控制元件顯示圖片縮圖
一、基本概念 1、ImageList控制元件 ImageList元件,又稱為圖片儲存元件,它主要用於儲存圖片資源,然後在控制元件上顯示出來,這樣就簡化了對圖片的管理。ImageList元件的主要屬性是Images,它包含關聯控制元件將要使用的圖片。每個單獨的圖片可以通過其索引值或鍵值來訪問。
DevExpress 使用 XtraTabbedMdiManager 控制元件以 Tab樣式載入 Mdi窗體併合並父和子窗體的 RibbonControl 解決方案
最近剛接觸到 DevExpress 13.1 這個面板元件, 覺得相當好用 於是開始準備搭建 個小應用的主體框架. 找了好久的就是沒找到對應的文章來講解這一塊.. 翻了他們主網站上人家問的,以及API 才摸索... 不懂英文好吃力呀~~~ 首先選到的就是,依舊用 Md
Android控制元件屬性——是否可見和可點選
寫這個文章主要是做一下筆記,記錄下控制元件的屬性設定 1.設定控制元件是否可點選(boutton) 在xml下設定boutton不可點選 android:enabled = "false" 在活動中
Android控制元件RecyclerView和ListView的異同
在我的一篇介紹Android新控制元件RecyclerView的部落格( Android L新控制元件RecyclerView簡介 )中,一個讀者留言說RecyclerView跟ListView之間好像沒有什麼不同,我覺得這是一個好問題,應該明確地區分一下兩者的睯,所以我就研究了一下它倆之間的區別,然後
關於ListView中Item點選事件,動態改變Item中控制元件屬性
ListView中的Item事件點選不了,怎麼辦? 由於要設定ListView的Item點選事件來改變控制元件屬性,設定的時候發現Item無法點選,原因之一是給Item中的控制元件添加了屬性android:clickable=”true”使Item不響應點選事
MFC下如何設定控制元件的字型樣式,視窗背景和控制元件底色透明
重寫OnPaint方法(WM_PAINT)和OnCtlColor的方法(WM_CTLCOLOR) void CPannelRecentUsed::OnPaint() { CPaintDC dc(this); // device context for painting
JQuery快速入門-操作元素的屬性和樣式
dcl 顯示 實現 節點 ali 文本 屬性。 另一個 增加 我們在學習JavaScript時,詳細介紹了DOM對象。從DOM樹可以得知,對DOM的操作,主要包括:元素的屬性、內容、值、CSS。 一、元素屬性的操作 在 jQuery 中,可以對元素的屬性執行獲取、設置、
JQuery元素屬性和樣式操作、以及設置元素和內容
ava 例如 term wid 集合 遍歷 內容 ssd each 一、JQury元素屬性操作通過JQuery可以對元素本身的屬性進行操作,包括獲取屬性的屬性值,設置屬性的屬性值,並且可以刪除屬性值(attr()和removeAttr())。二、JQuery樣式操作元素樣式
C# 控制元件屬性一覽表
1、窗體 1、常用屬性 (1)Name屬性:用來獲取或設定窗體的名稱,在應用程式中可通過Name屬性來引用窗體。 (2) WindowState屬性: 用來獲取或設定窗體的視窗狀態。 取值有三種: Normal (窗體正常顯示)、 Minimized
安卓入門之ListView控制元件實現
ListView介紹 安卓中ListView是一種自定義清單表,我們經常在淘寶上搜索寶貝後所出現的上下可滑動的商品列表、QQ/微信訊息列表等都是ListView控制元件來做的,下面紅框框中就是ListView。 有沒有一種豁然開朗的感覺(瘋狂暗示)。。。所以掌握ListView這種
SQLite資料庫、ListView控制元件的使用
android下資料庫的建立(重點) 在Android平臺上,集成了一個輕量級嵌入式關係型資料庫—SQLite,SQLite3支援 NULL、INTEGER、REAL(浮點數字)、TEXT(字串文字)和BLOB(二進位制物件)資料型別,也接受varchar(n)、char(n)、deci