datagridview 自定义格式_word自定义表格

datagridview 自定义格式_word自定义表格publicclassMyGrideViewextendsGridView{publicMyGrideView(Contextcontext){super(context);}publicMyGrideView(Contextcontext,AttributeSetattrs){super(context,attrs)


Jetbrains全系列IDE稳定放心使用

public class MyGrideView extends GridView {
public MyGrideView(Context context) {
super(context);
}

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

public MyGrideView(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
}

//该自定义控件只是重写了GridView的onMeasure方法,使其不会出现滚动条,ScrollView嵌套ListView也是同样的道理,不再赘述。
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    int expandSpec = MeasureSpec.makeMeasureSpec(
            Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
    super.onMeasure(widthMeasureSpec, expandSpec);
}

/**
 * 重绘分割线
 */

@Override
protected void dispatchDraw(Canvas canvas) {
    // TODO Auto-generated method stub
    super.dispatchDraw(canvas);

    View localView1 = getChildAt(0);
    int column = getWidth() / localView1.getWidth();
    int childCount = getChildCount();
    Paint localPaint;
    localPaint = new Paint();
    localPaint.setStyle(Paint.Style.STROKE);
    localPaint.setStrokeWidth(2);
    localPaint.setColor(getContext().getResources().getColor(R.color.gray001));
    for(int i = 0;i < childCount;i++){
        View cellView = getChildAt(i);
        if((i + 1) % column == 0){
            if (i != childCount -1){
                canvas.drawLine(cellView.getLeft(), cellView.getBottom(), cellView.getRight(), cellView.getBottom(), localPaint);
            }
        }else if((i + 1) > (childCount - (childCount % column))){
            canvas.drawLine(cellView.getRight(), cellView.getTop(), cellView.getRight(), cellView.getBottom(), localPaint);
        }else{
            canvas.drawLine(cellView.getRight(), cellView.getTop(), cellView.getRight(), cellView.getBottom(), localPaint);
            if (i != childCount -2 && i != childCount -3){
                canvas.drawLine(cellView.getLeft(), cellView.getBottom(), cellView.getRight(), cellView.getBottom(), localPaint);
            }
        }
    }
    if(childCount % column != 0){
        for(int j = 0 ;j < (column-childCount % column) ; j++){
            View lastView = getChildAt(childCount - 1);
            canvas.drawLine(lastView.getRight() + lastView.getWidth() * j, lastView.getTop(), lastView.getRight() + lastView.getWidth()* j, lastView.getBottom(), localPaint);
        }
    }
}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189949.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ListView addHeaderView和addFooterView使用上的一些问题

    ListView addHeaderView和addFooterView使用上的一些问题

    2021年8月23日
  • COM :IUnknown接口QueryInterface函数介绍

    COM :IUnknown接口QueryInterface函数介绍
    一、COM组件的目标:
    COM组件的一个主要优势是:便于升级。
    要实现这个优势需要满足一下两个条件:
    1、运行时从客户程序动态加载和卸载,采用DLL技术可以实现。
    2、为了更好的突出DLL的优势,还需要信息隐藏,即封装性。
    二、COM组件的信息隐藏采用IUnknown接口来实现:
          1、IUnknown接口功能简介:
    IUnknown意思是未知,即未知的接口。采用这个名字是为了简单起见,所有的COM接口都需要继承I

    2022年7月22日
  • JAVA事件适配器的作用

    JAVA事件适配器的作用适配器 其实从接口事件演变尔来的。相当于触发器,说简单点,它就是一些动作。例如说鼠标的按下点击还有键盘等等。适配器就是实现接口事件的类不过,不是真的实现,只是空实现,没有具体的方法体。适配器主要是为了方便程序员操作,避免了代码的重复性。只要一个对象或者属性添加了这个适配器,那么它就会监视这对象或属性。例如说一个按纽。按纽添加一个MouseAdap

    2022年5月4日
  • 推荐 5 款好用的REST API工具

    作者 | Marta Krzyk 首发|架构头条 译者 | 王强  策划 | 小智 市面上可用的 REST API 工具选项有很多,我们来看看其中一些开发人员最喜欢的工具…

    2021年6月22日
  • python+pycharm安装(pycharm最新版安装教程)

    下载Python官网下载地址:Python下载不同参数解释,小伙伴们根据自己情况进行下载即可(此处博主用的是3.7.3版本):–web-basedinstaller:在线安装。下载的是一个exe可执行程序,双击后,该程序自动下载安装文件进行安装。网络安装版,需联网–executableinstaller:程序安装。下载的是一个exe可执行程序,双击进行安装。本地安装,可执行程序(***)–embeddablezipfile:解压安装。下载的是一个压缩文件,解压后即表示安装完成。嵌入式版

    2022年4月14日
  • python中如何打开csv文件_python如何读取csv文件

    python中如何打开csv文件_python如何读取csv文件python如何读取csv文件,我们这里需要用到python自带的csv模块,有了这个模块读取数据就变得非常容易了。工具/原料python3方法/步骤1这里以sublimetext3编辑器作为示范,新建一个文档。2我们可以先确认CSV文档是否可以正确打开。并且放在同一个文件夹里面。3importcsv这是第一步要做的,就是调用csv模块。4importcsvfile=open(‘data…

    2022年7月21日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号