android WJYScorllTableView可上拉加载下拉刷新且可以左右滚动的listview

来源:互联网 发布:跨河水准测量数据整理 编辑:程序博客网 时间:2024/06/05 01:15

github地址:WJYScorllTableView


# WJYScorllTableView


一个可上拉加载,下拉刷新,且可以左右滚动的listview,形象的,它更像是一个tableview


#依赖WJYPullRefreshListView



#基本样式

>可左右滚动且第一列固定的ScorllTableView,使用观察者模式同步滚动,上拉加载下拉刷新,仿word表格四套样式供选择,且可以自定义表格样式!<br>



> 图为:默认



> 图为:内置表格样式一


> 图为:下拉刷新



> 图为:上拉加载



> 图为:内置表格样式二



> 图为:内置表格样式三


>......



#使用方法:


````xml

activity_main.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

xmlns:scattr="http://schemas.android.com/apk/res-auto"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_marginTop="60dp"

android:background="#ffffff" >


<com.wujiuye.diyview.ScorllTableView 

android:id="@+id/scorll_table_view"

<!-- 表格样式 -->

scattr:tableStyle="1"

<!-- 列宽 -->

scattr:cellWidth="120"

<!-- 行高 -->

scattr:rowHeight="48"

android:layout_width="match_parent"

android:layout_height="match_parent"/>



</FrameLayout>


````


```java

MainActivity.java


package com.wujiuye.textscorlltableview;



import java.util.ArrayList;

import java.util.List;


import com.wujiuye.diyview.ScorllTableView;

import com.wujiuye.diyview.scorlltableview.SCDataSourceItemCell;

import com.wujiuye.diyview.scorlltableview.SCDataSourceItemModel;

import com.wujiuye.diyview.scorlltableview.SCTitleItemModel;

import com.wujiuye.diyview.scorlltableview.ScorllTableItemDataSource;

import com.wujiuye.diyview.scorlltableview.ScorllTableTitleDataSource;

import com.wujiuye.diyview.scorlltableview.ScorllTableViewAdapter;


import android.app.Activity;

import android.os.Bundle;




public class MainActivity extends Activity {


ScorllTableView scorllTableView;


@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);


setContentView(R.layout.activity_main);

scorllTableView = (ScorllTableView) findViewById(R.id.scorll_table_view);


initShow();

}


private void initShow(){


SCTitleItemModel title0 = new SCTitleItemModel("用户名", true);

SCTitleItemModel title1 = new SCTitleItemModel("推荐舆情", true);

SCTitleItemModel title2 = new SCTitleItemModel("原创网帖", true);

SCTitleItemModel title3 = new SCTitleItemModel("原创微博", true);

SCTitleItemModel title4 = new SCTitleItemModel("转载网帖", true);

SCTitleItemModel title5 = new SCTitleItemModel("总发贴", true);

SCTitleItemModel title6 = new SCTitleItemModel("总得分", true);


//标题列表

ScorllTableTitleDataSource titleList = new ScorllTableTitleDataSource();

titleList.addTitle(title0);titleList.addTitle(title1);titleList.addTitle(title2);

titleList.addTitle(title3);titleList.addTitle(title4);titleList.addTitle(title5);titleList.addTitle(title6);


//单元格

SCDataSourceItemCell cell0 = new SCDataSourceItemCell("58");

SCDataSourceItemCell cell1 = new SCDataSourceItemCell("268");

SCDataSourceItemCell cell2 = new SCDataSourceItemCell("558");

SCDataSourceItemCell cell3 = new SCDataSourceItemCell("465");

SCDataSourceItemCell cell4 = new SCDataSourceItemCell("164");

SCDataSourceItemCell cell5 = new SCDataSourceItemCell("32");

SCDataSourceItemCell cell6 = new SCDataSourceItemCell("2890");


//一行数据

List<SCDataSourceItemCell> listcell = new ArrayList<SCDataSourceItemCell>();

listcell.add(cell0);listcell.add(cell1);listcell.add(cell2);listcell.add(cell3);listcell.add(cell4);

listcell.add(cell5);listcell.add(cell6);

SCDataSourceItemModel item0 = new SCDataSourceItemModel(listcell);


//数据行列表

ScorllTableItemDataSource itemList = new ScorllTableItemDataSource();

itemList.addItem(item0);itemList.addItem(item0);itemList.addItem(item0);

itemList.addItem(item0);itemList.addItem(item0);itemList.addItem(item0);

itemList.addItem(item0);itemList.addItem(item0);itemList.addItem(item0);

itemList.addItem(item0);itemList.addItem(item0);itemList.addItem(item0);itemList.addItem(item0);


//适配器

ScorllTableViewAdapter adapter = new ScorllTableViewAdapter(itemList, titleList);

scorllTableView.setAdapter(adapter);

adapter.notifyDataSetChanged();


//设置隐藏对应的列

scorllTableView.settingTitleShowWithName("总发贴", false);

scorllTableView.settingTitleShowWithName("总得分", false);


//数据改变时需要调用适配器的notifyDataSetChanged方法

itemList.addItem(item0);itemList.addItem(item0);itemList.addItem(item0);itemList.addItem(item0);

itemList.addItem(item0);itemList.addItem(item0);itemList.addItem(item0);itemList.addItem(item0);

itemList.addItem(item0);itemList.addItem(item0);itemList.addItem(item0);itemList.addItem(item0);

itemList.addItem(item0);itemList.addItem(item0);itemList.addItem(item0);itemList.addItem(item0);

itemList.addItem(item0);itemList.addItem(item0);itemList.addItem(item0);itemList.addItem(item0);

adapter.notifyDataSetChanged();

}

}


```

原创粉丝点击