Titanium tableview android 和 ios 下拉刷新(pull to refresh )
2017-03-27 17:40
453 查看
#====================== 主布局 ================================= wrapper = Ti.UI.createScrollView showVerticalScrollIndicator: true showHorizontalScrollIndicator: false width: Ti.UI.FILL top: 0 bottom: if Ti.App.is_android then __l(54) else null scrollingEnabled: if Ti.App.is_android then false else true table_view = Ti.UI.createTableView width: '100%' backgroundColor: '#fff' #bottom: if Ti.App.is_android then __l(54) else null data: table_data table_header = Ti.UI.createView backgroundColor: "#f6f6f6" width : Ti.App.platform_width height : __l(60) textAlign : 'center' status_label_of_table_header = Ti.UI.createLabel text : "下拉可以刷新..." width : __l(200) bottom : __l(15) height : __l(17) color : "#576c89" textAlign : 'center' textAlign : "center" font : fontSize : __l(12) table_header.add status_label_of_table_header table_view.headerPullView = table_header pull_to_get_data =(callback) -> get_data() callback() pulling = false #====================== ios 下拉刷新 ================================= table_view.addEventListener 'scroll', (e) -> console.info "======= in table_view, scroll event" if (Ti.App.is_android) return offset = e.contentOffset.y if (offset <= -65.0 && !pulling) pulling = true status_label_of_table_header.text = "释放即可更新..." else if pulling && offset > -65.0 && offset < 0 pulling = false status_label_of_table_header.text = "下拉可以刷新..." table_view.addEventListener "dragend", (e) -> if pulling table_view.setContentInsets top : __l(60) animated : true pull_to_get_data -> status_label_of_table_header.text = "下拉可以刷新..." table_view.setContentInsets top : __l(0) animated : true return pulling = false return #====================== android 下拉刷新 ================================= if Ti.App.is_android swipeRefreshModule = require 'com.rkam.swiperefreshlayout' swipeRefresh = swipeRefreshModule.createSwipeRefresh view: table_view #bottom: __l(54) height: Ti.UI.FILL width: Ti.UI.FILL table_view.bottom = 0 swipeRefresh.addEventListener 'refreshing', -> pull_to_get_data -> swipeRefresh.setRefreshing(false) return wrapper.add swipeRefresh change_record_win.add wrapper else #wrapper.add table_view change_record_win.add table_view
wrapper = Ti.UI.createScrollView({ showVerticalScrollIndicator: true, showHorizontalScrollIndicator: false, width: Ti.UI.FILL, top: 0, bottom: Ti.App.is_android ? __l(54) : null, scrollingEnabled: Ti.App.is_android ? false : true }); table_view = Ti.UI.createTableView({ width: '100%', backgroundColor: '#fff', data: table_data }); table_header = Ti.UI.createView({ backgroundColor: "#f6f6f6", width: Ti.App.platform_width, height: __l(60), textAlign: 'center' }); status_label_of_table_header = Ti.UI.createLabel({ text: "下拉可以刷新...", width: __l(200), bottom: __l(15), height: __l(17), color: "#576c89", textAlign: 'center', textAlign: "center", font: { fontSize: __l(12) } }); table_header.add(status_label_of_table_header); table_view.headerPullView = table_header; pull_to_get_data = function(callback) { get_data(); return callback(); }; pulling = false; table_view.addEventListener('scroll', function(e) { var offset; console.info("======= in table_view, scroll event"); if (Ti.App.is_android) { return; } offset = e.contentOffset.y; if (offset <= -65.0 && !pulling) { pulling = true; return status_label_of_table_header.text = "释放即可更新..."; } else { if (pulling && offset > -65.0 && offset < 0) { pulling = false; return status_label_of_table_header.text = "下拉可以刷新..."; } } }); table_view.addEventListener("dragend", function(e) { if (pulling) { table_view.setContentInsets({ top: __l(60), animated: true }); pull_to_get_data(function() { status_label_of_table_header.text = "下拉可以刷新..."; table_view.setContentInsets({ top: __l(0), animated: true }); }); pulling = false; } }); if (Ti.App.is_android) { swipeRefreshModule = require('com.rkam.swiperefreshlayout'); swipeRefresh = swipeRefreshModule.createSwipeRefresh({ view: table_view, height: Ti.UI.FILL, width: Ti.UI.FILL }); table_view.bottom = 0; swipeRefresh.addEventListener('refreshing', function() { return pull_to_get_data(function() { swipeRefresh.setRefreshing(false); }); }); wrapper.add(swipeRefresh); change_record_win.add(wrapper); } else { change_record_win.add(table_view); }
相关文章推荐
- 支持上下拉刷新的RecycleView,基于androidPullToRefresh,添加RecycleView HeaderView
- Android PullToRefresh 下拉刷新,上拉更多,支持ScrollView,ListView,可方便拓展GridView,WebView等
- Android自定义控件实战——实现仿IOS下拉刷新上拉加载 PullToRefreshLayout
- Android PullToRefresh 下拉刷新,上拉很多其它,支持ScrollView,ListView,可方便拓展GridView,WebView等
- 下拉刷新与ViewPager冲突的处理,android-Ultra-Pull-To-Refresh下拉刷新嵌套ViewPager手势冲突
- 使用 android-Ultra-Pull-To-Refresh 实现 WebView 下拉刷新
- 利用android-Ultra-Pull-To-Refresh做的下拉刷新,支持viewpager等view完美嵌套
- 《android》下拉刷新上拉加载更多控件 PullToRefreshView
- Android:AutoScrollViewPager放在PullToRefresh中,解决不能下拉刷新问题
- Android RecyclerView上下拉刷新加载之PullToRefresh的结合使用
- React Native控件之PullToRefreshViewAndroid下拉刷新组件讲解(20)
- 支持上下拉刷新的RecycleView,基于androidPullToRefresh
- android下拉刷新scrollview的用法pullToRefreshScrollview
- Android PullToRefreshView自定义下拉刷新控件
- PullToRefresh下拉刷新、上拉加载更多ViewPage+Handler完成无限轮播
- Android PullToRefresh (ListView GridView 下拉刷新) 使用详解
- Android PullToRefresh (ListView GridView 下拉刷新) 使用详解
- [Android]Ultra-Pull-To-Refresh之listview下拉刷新、上拉加载的用例-已更新
- android 控件 下拉刷新 android-pulltorefresh
- (一)android下拉刷新的两种方式之如PullToRefresh