在flextable中,我在第一列中创建带有按钮的行,显示每行的编号,以及其他列中的文本框。 我想将行之间的空间减少到最小。
var btnField = app.createButton(numRow).setId(fieldId).setSize(20, 20)
.setStyleAttribute('marginBottom', 3).setStyleAttribute('marginTop', 0)
.setStyleAttribute('fontSize', 8).setText(numRow));
flextable.setCellSpacing(1).setCellPadding(1); //Minimum distance between rows ??
关于按钮的问题是文本不垂直位于按钮的中间。我不能减小按钮的大小(使用.setSize(20, 18)
左右),因为文本将变为底部按钮之外。
我应该使用哪些样式属性来垂直定位按钮中间的按钮文本,右边是一个小的marginRight?按钮本身不应超过文本框的大小,以尽量减少行之间的距离。
如果我必须在flextable上使用设置,那当然也没关系。
答案 0 :(得分:0)
样式属性应该使用camelCase编写,使用fontSize
而不是fontsize
,你会得到这个:
很好地居中。
编辑:我对按钮文本对齐进行了一些测试,结果有点令人惊讶...... 下面的代码和插图显示只有水平对齐在文本内容上是可行的,并且paddingTop适用但是对其他小部件也有副作用
function doGet() {
var app = UiApp.createApplication().setTitle('test buttons');
var btn1 = app.createButton('test Button1').setPixelSize(200,60).setStyleAttributes({'fontFamily': 'serif','fontWeight': 'bold','fontSize':'14pt','text-align':'right'});
var btn2 = app.createButton('test Button2').setPixelSize(200,30).setStyleAttributes({'fontSize':'12pt','textAlign':'left'});
var btn3 = app.createButton('test Button3').setPixelSize(200,16).setStyleAttributes({'fontSize':'8pt','padding':'0px'});
var btn4 = app.createButton('test Button4').setPixelSize(200,60).setStyleAttributes({'fontSize':'8pt','paddingTop':'30px'});
app.add(btn1).add(btn2).add(btn3).add(btn4);
return app;
}
组合od填充和verticalAlignment可以给出有趣的结果,见下文:
var btn4 = app.createButton('testButton4').setPixelSize(200,60).setStyleAttributes({'fontSize':'8pt','paddingTop':'30px','vertical-align':'-11px'});