在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):JakeWharton/picnic开源软件地址(OpenSource Url):https://github.com/JakeWharton/picnic开源编程语言(OpenSource Language):Kotlin 96.1%开源软件介绍(OpenSource Introduction):Picnic TablesA Kotlin DSL and Java/Kotlin builder API for constructing HTML-like tables which can be rendered to text. Features:
DSL: table {
row("Hello", "World")
row("Hola", "Mundo")
}
Very underwhelming! Picnic tables start completely unstyled by design. Jump to a real-world example or continue reading for individual features. (Note: these examples do not render correctly on mobile) Bordertable {
cellStyle {
// These options affect the style of all cells contained within the table.
border = true
}
row("Hello", "World")
row("Hola", "Mundo")
}
Table Border Styletable {
style {
// Unlike cellStyle, these options affect the style of the table itself.
borderStyle = Hidden
}
cellStyle {
border = true
}
row("Hello", "World")
row("Hola", "Mundo")
}
Paddingtable {
cellStyle {
border = true
paddingLeft = 1
paddingRight = 1
}
row("Hello", "World")
row("Hola", "Mundo")
}
Table, Row, and Cell Styletable {
cellStyle {
border = true
paddingLeft = 1
paddingRight = 1
}
row {
cellStyle {
// These options affect only the cells contained within this row and override table options.
paddingTop = 1
}
cell("Hello")
cell("World")
}
row {
cell("Hola")
cell("Mundo") {
// These options affect only this specific cell and override row and table options.
border = false
}
}
}
Header and Footertable {
header {
// Rows in a header always come first no matter when they're added.
row("Hello", "Header")
}
footer {
// Rows in a footer always come last no matter when they're added.
row("Hello", "Footer")
}
row("Hello", "World")
cellStyle {
border = true
}
}
Row and Column Spantable {
cellStyle {
border = true
}
row {
cell("Hello") {
rowSpan = 2
}
cell("World")
}
// This row has only one cell because "Hello" will carry over and push it to the right.
row("Mars")
// This row has only one cell because it spans two columns.
row {
cell("Hola Mundo") {
columnSpan = 2
}
}
}
Text Alignmenttable {
cellStyle {
border = true
alignment = TopCenter
}
row {
cell("Hello") {
rowSpan = 4
alignment = MiddleLeft
}
cell("Mercury")
}
row("Venus")
row("Earth")
row("Mars")
row {
cell("Hola") {
rowSpan = 4
alignment = MiddleLeft
}
cell("Jupiter")
}
row("Saturn")
row("Uranus")
row("Neptune")
row("Adios", "Pluto")
}
Real-world ExampleHere is a more advanced, real-world example from the Diffuse tool. It features row and column spans, headers and footers, borders, table border style, padding, and text alignment. table {
style {
borderStyle = Hidden
}
cellStyle {
alignment = MiddleRight
paddingLeft = 1
paddingRight = 1
borderLeft = true
borderRight = true
}
header {
cellStyle {
border = true
alignment = BottomLeft
}
row {
cell("APK") {
rowSpan = 2
}
cell("compressed") {
alignment = BottomCenter
columnSpan = 3
}
cell("uncompressed") {
alignment = BottomCenter
columnSpan = 3
}
}
row("old", "new", "diff", "old", "new", "diff")
}
body {
row("dex", "664.8 KiB", "664.8 Kib", "-25 B", "1.5 MiB", "1.5 MiB", "-112 B")
// "arsc", "manifest", etc…
}
footer {
cellStyle {
border = true
}
row("total", "1.3 MiB", "1.3 MiB", "-39 B", "2.2 MiB", "2.2 MiB", "-112 B")
}
}
Downloadrepositories {
mavenCentral()
}
dependencies {
implementation 'com.jakewharton.picnic:picnic:0.6.0'
} Snapshots of the development version are available in Sonatype's snapshots repository.
repositories {
maven {
url 'https://oss.sonatype.org/content/repositories/snapshots/'
}
}
dependencies {
implementation 'com.jakewharton.picnic:picnic:0.7.0-SNAPSHOT'
} License
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论