private void drawFirstVisibleColumn(Canvas canvas, float zoom, Paint paint)
{
FontMetrics fm = paint.getFontMetrics();
float visibleColumnWidth = 0;
SheetScroller minRowAndColumnInformation = sheetview.getMinRowAndColumnInformation();
//draw rest part of first column
float columnWidht = (minRowAndColumnInformation.getColumnWidth() * zoom);
visibleColumnWidth = (float)(minRowAndColumnInformation.getVisibleColumnWidth() * zoom);
// 绘制header
if(HeaderUtil.instance().isActiveColumn(sheetview.getCurrentSheet(), minRowAndColumnInformation.getMinColumnIndex()))
{
paint.setColor(SSConstant.ACTIVE_COLOR);
}
else
{
paint.setColor(SSConstant.HEADER_FILL_COLOR);
}
rect.set((int)x, 0, (int)(x + visibleColumnWidth), columnHeaderHeight);
canvas.drawRect(rect, paint);
//header line
paint.setColor(SSConstant.HEADER_GRIDLINE_COLOR);
canvas.drawRect(x, 0, x + 1, columnHeaderHeight, paint);
// 绘制文本
canvas.save();
canvas.clipRect(rect);
paint.setColor(SSConstant.HEADER_TEXT_COLOR);
String rowText = HeaderUtil.instance().getColumnHeaderTextByIndex(minRowAndColumnInformation.getMinColumnIndex());
float textWidth = paint.measureText(rowText);
float textX = (columnWidht - textWidth) / 2;
float textY = (int)(columnHeaderHeight - Math.ceil(fm.descent - fm.ascent)) / 2;
canvas.drawText(rowText, x + textX - (columnWidht - visibleColumnWidth), textY - fm.ascent, paint);
canvas.restore();
}
ColumnHeader.java 文件源码
java
阅读 28
收藏 0
点赞 0
评论 0
项目:iOffice
作者:
评论列表
文章目录