没有合适的资源?快使用搜索试试~ 我知道了~
Android自定义DataGridView数据表格控件
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 12 下载量 118 浏览量
2021-01-04
02:04:07
上传
评论 1
收藏 44KB PDF 举报
温馨提示
试读
5页
我是一个.net程序员,但是苦于公司要求开发一个android app,没办法,只能硬着头皮上了。 由于项目里面很多地方需要用到数据显示控件(类似于.net的DataGridView),度娘找了下发现没人公开类似的控件,没办法只好自己写了。 废话不多说,直接贴代码: public class DataGridView extends HorizontalScrollView { private List<DataGridViewColumn> columns; private List<Map>> rows; private boolean hasHead
资源推荐
资源详情
资源评论
Android自定义自定义DataGridView数据表格控件数据表格控件
我是一个.net程序员,但是苦于公司要求开发一个android app,没办法,只能硬着头皮上了。
由于项目里面很多地方需要用到数据显示控件(类似于.net的DataGridView),度娘找了下发现没人公开类似的控件,没办法
只好自己写了。
废话不多说,直接贴代码:
public class DataGridView extends HorizontalScrollView {
private List<DataGridViewColumn> columns;
private List<Map<String,String>> rows;
private boolean hasHeader;
private CellClickListener cellClickListener;
private RowClickListener rowClickListener;
private RowValidatorListener rowValidatorListener;
private LinearLayout headerRow;
private LinearLayout bodyRow;
public DataGridView(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.DataGridView);
hasHeader = a.getBoolean(R.styleable.DataGridView_hasHeader, true);
a.recycle();
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout container = (LinearLayout) inflater.inflate(R.layout.ctrl_data_grid_view, null, false);
addView(container);
this.columns = new ArrayList<DataGridViewColumn>();
this.rows = new ArrayList<Map<String,String>>();
headerRow = new LinearLayout(getContext());
headerRow.setOrientation(LinearLayout.HORIZONTAL);
headerRow.setBackgroundResource(R.drawable.datagrid_header_background);
headerRow.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
if (hasHeader){
container.addView(headerRow);
}
ScrollView scrollView = (ScrollView)inflater.inflate(R.layout.ctrl_data_grid_view_scroll, container, false);
bodyRow = (LinearLayout) inflater.inflate(R.layout.ctrl_data_grid_view, scrollView, false);
scrollView.addView(bodyRow);
container.addView(scrollView);
}
public void addColumn(String dataField, String headerText){
this.addColumn(dataField, headerText, 200);
}
public void addColumn(String dataField, String headerText, int columnWidth){
this.addColumn(dataField, headerText, columnWidth, Gravity.START);
}
public void addColumn(String dataField, String headerText, int columnWidth, int textAlign){
this.addColumn(dataField, headerText, columnWidth, textAlign, Color.rgb(80, 80, 80));
}
public void addColumn(String dataField, String headerText, int columnWidth, int textAlign, int textColor){
this.addColumn(dataField, headerText, columnWidth, textAlign, textColor, true);
}
public void addColumn(String dataField, String headerText, int columnWidth, int textAlign, int textColor, boolean isEnabled){
DataGridViewColumn column = new DataGridViewColumn();
column.dataField =dataField;
column.headerText = headerText;
column.columnWidth = columnWidth;
column.textAlign = textAlign;
column.textColor = textColor;
column.isEnabled = isEnabled;
资源评论
- 清新少年2021-11-26能不能提供完整的代码,包括用法
- jasontango2022-11-03资源使用价值高,内容详实,给了我很多新想法,感谢大佬分享~
weixin_38702726
- 粉丝: 10
- 资源: 930
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功