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

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue init webpack命令出错 vue-cli/node_modules/_rimraf@2.6.2@rimraf/rimraf.js:313

    vue init webpack命令出错 vue-cli/node_modules/_rimraf@2.6.2@rimraf/rimraf.js:313这是在 vue 开发中的一个比较低级的错误但是肯能会遇到 分享在这儿以便遇到后能够很好的解决先说明一下此问题出现的开发环境 本机是 mac nvm 管理的 node 使用 nodev8 0 0 全局安装了 vue cli npminstallvu cli g 错误如下 Users weiyongqiang nvm versions node v9 2 0 lib node module

    2025年8月8日
    4
  • 台式计算机连不上网,台式机插上网线连不上网怎么办?[通俗易懂]

    台式计算机连不上网,台式机插上网线连不上网怎么办?[通俗易懂]由于你提供的问题描述不够详细具体,可能性太多了;这里为你分析下常见的一些情况以供参考!1.要确定是不是只有这一个台式机不能上网,同一个路由器下的其他终端是可以上网的。如果是这样,那基本和路由器设置无关(特殊情况例外)。2.台式机插上网线后,本地连接是否正常link起来?如果本地连接为一个“×”,那说明没有link成功,检查台式机的网卡驱动是否安装正常。由于此时台式机上不了网,建议你通过其他可以…

    2022年6月26日
    28
  • httprunner(5)编写测试用例

    httprunner(5)编写测试用例编写测试用例HttpRunnerv3.x支持三种测试用例格式pytest,YAML和JSON。官方强烈建议以pytest格式而不是以前的YAML/JSON格式编写和维护测试用例格式关系如下图所示

    2022年7月31日
    7
  • Redis 的 8 大数据类型,写得非常好!

    Redis 的 8 大数据类型,写得非常好!

    2022年2月17日
    33
  • html语言添加下划线,HTML页面中怎么文本添加下划线?[通俗易懂]

    html语言添加下划线,HTML页面中怎么文本添加下划线?[通俗易懂]怎么在HTML页面中给文本添加下划线?下面本篇文章就来给大家介绍一下HTML、CSS给文本添加下划线的方法,希望对大家有所帮助。HTML添加下划线在HTML中可以使用标签定义下划线文本,即为文本添加下划线。下划线标签告诉浏览器把加入到u标签的文本加下划线样式呈现显示给浏览者。对于所有浏览器来说,这意味着要把这段文字加下划线样式方式呈现给大家显示。语法:我被加下划线了说明:标签定义与常规文本风格不…

    2022年6月3日
    39
  • 使用PyCharm快速安装TensorFlow

    使用PyCharm快速安装TensorFlow本来之前写的《使用VirtualEnv在Mac安装TensorFlow》已经搭建好TensorFlow学习环境了,后来发现使用PyCharm搭建TensorFlow学习环境简直不要太方便了,就重新搭建了一遍!启动PyCharm,创建一个新项目,选择Newenvironmentusing->VirtualEnv,这样就是单独为新项目创建一个隔离的python环境。创建好新项目以后…

    2022年8月27日
    9

发表回复

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

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