TableLayout实现gridview嵌套gridview效果

原创 2017年08月30日 00:43:57

这里写图片描述这里写图片描述

自定义linearlayout

public class CurrenPositionView extends LinearLayout {
    //每行item个数
    private final int ROW_NUM = 5;
    private TextView titleView;
    private ZhaoPin data;
    private TableLayout tableLayout;
    private LayoutInflater layoutInflater;
    private int viewId;

    public CurrenPositionView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    public CurrenPositionView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public CurrenPositionView(Context context) {
        super(context);
    }

    public ZhaoPin getData() {
        return data;
    }

    public void setData(ZhaoPin data) {
        this.data = data;
    }

    private void initView() {
        layoutInflater = LayoutInflater.from(getContext());
        View rootView = layoutInflater.inflate(R.layout.pulldown_view, this);
        titleView = (TextView) rootView.findViewById(R.id.job_name_text);
        tableLayout = (TableLayout) rootView.findViewById(R.id.job_name_table);
        tableLayout.setStretchAllColumns(true);
        setTitleStr(data.getName());
        //初始化表格数据
        int h = data.getJobtype().size() / ROW_NUM;
        int len = data.getJobtype().size() % ROW_NUM;
        int location = 0;
        if (len != 0)
            h += 1;
        for (int n = 1; n <= h; n++) {
            TableRow row = new TableRow(getContext());
            int length = n == h ? len : ROW_NUM;
            for (int m = 0; m < length; m++) {
                //mview外面一层数据
                MyTextView mview = (MyTextView) layoutInflater.inflate(R.layout.table_row_item, null);
                mview.setText(data.getJobtype().get(location).getName());
                mview.setTag("" + viewId + location);
                mview.setGravity(Gravity.CENTER);
                mview.setTextColor(Color.rgb(0,0,0));
                mview.setTextSize(30);
                mview.setOnClickListener(((MainActivity) getContext()).new OnItemClick(data, location, n, tableLayout, mview));
                row.addView(mview);
                location++;
            }
            // 每一列 tablerow 增加一个下拉的layout
            View view = layoutInflater.inflate(R.layout.expand_item, null);
            view.setTag(n);
            view.setVisibility(View.GONE);
            tableLayout.addView(row);
            tableLayout.addView(view);
        }
    }

    public void init() {
        initView();
    }

    public void setTitleStr(CharSequence text) {
        titleView.setText(text);
    }

    public int getViewId() {
        return viewId;
    }

    public void setViewId(int viewId) {
        this.viewId = viewId;
    }
}

不多说,附源码:

Demo下载,点击此处

版权声明:本文为博主原创文章,未经博主允许不得转载。

tableLayout 实现类似gridview的效果 带分割线

/** * 设置表格的数据 * @param tableDatas */ public void setTableLayout(List> tableDatas) { TableLa...
  • swust_chenpeng
  • swust_chenpeng
  • 2014年07月16日 10:37
  • 8039

TableLayout实现gridview嵌套gridview效果

  • 2017年08月29日 16:19
  • 23.88MB
  • 下载

让GridView在大数据集时高效的分页

让GridView在大数据集时高效的分页 让GridView在大数据集时高效的分页在ASP.NET 1.1下有一个很好用的数据列表显示控件DataGrid,他有一个专门的设置数据记录数的属性"Virt...
  • frankwang2008
  • frankwang2008
  • 2007年08月17日 21:52
  • 1991

.net GridViewRow.RowType 属性

以下内容来自MSDN注意:此属性在 .NET Framework 2.0 版中是新增的。 获取 GridViewRow 对象的行类型。 命名空间:System.Web.UI.WebControls 属...
  • evenbing
  • evenbing
  • 2007年11月13日 15:55
  • 765

Android ICS(SDK4.0)新特性 及 GridLayout/GridView/TableLayout的一些比较

> 浅谈android4.0开发之GridLayout布局:http://blog.csdn.net/pku_android/article/details/7343258     在android4...
  • ShareUs
  • ShareUs
  • 2016年07月29日 13:01
  • 904

RecyclerView+GridView分组效果

首先,不上图就是耍流氓! 项目中要做图中类似的效果。方案一: RecyclerView嵌套RecyclerView 缺点:页面卡顿 结果:放弃该方案方案二: 重写适配器 缺点...
  • qq_33507568
  • qq_33507568
  • 2016年12月28日 18:06
  • 571

TableLayout实现gridview嵌套gridview效果

自定义linearlayout public class CurrenPositionView extends LinearLayout { //每行item个数 private f...
  • bryant_liu24
  • bryant_liu24
  • 2017年08月30日 00:43
  • 305

android:TableRow之平均分布列

设置每一列的宽度为:android:layout_width="0dp" 设置每一列的android:layout_weight=“1”        因为layout_weight是将剩余空...
  • yanghaohappy
  • yanghaohappy
  • 2016年03月18日 10:47
  • 2162

GridView(可替代TableLayout)

用法和Listview 相似 步骤: 1、配置集合资源 2、设置适配器 3、添加适配器 4、设置监听 1、manifest设置设置主题 ...
  • Mr_Leixiansheng
  • Mr_Leixiansheng
  • 2017年03月20日 16:02
  • 345

Scrollview嵌套GridView的完美解决方案

最近在做项目的时候有一个效果给GridView上部添加一个ImageView,最初使用的是Scrollview嵌套ListView,对于这种做法就不过多说了,处理方法网上有很多,无非就是重写GridV...
  • zp_123578191
  • zp_123578191
  • 2015年07月06日 11:15
  • 406
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TableLayout实现gridview嵌套gridview效果
举报原因:
原因补充:

(最多只允许输入30个字)