This repository has been archived on 2024-07-22. You can view files and clone it, but cannot push or open issues or pull requests.
Doric/doric-demo/src/SliderStyleDemo.ts
2023-06-14 20:15:47 +08:00

41 lines
1.4 KiB
TypeScript

import { Group, Panel, gravity, LayoutSpec, vlayout, slider, slideItem, layoutConfig, modal, stack } from "doric";
import { colors } from "./utils";
@Entry
class SliderStyleDemo extends Panel {
build(rootView: Group): void {
let pager = slider({
itemCount: 12,
renderPage: (idx) => {
return slideItem(stack([], {
width: Environment.screenWidth * 307 / 375,
height: Environment.screenWidth * 307 / 375 * 520 / 307,
layoutConfig: layoutConfig()
.configWidth(LayoutSpec.JUST)
.configHeight(LayoutSpec.JUST)
.configAlignment(gravity().center()),
backgroundColor: (colors[++idx % colors.length])
}))
},
slideStyle: { type: "gallery", minScale: 480 / 520, minAlpha: 0.5, itemWidth: Environment.screenWidth * 307 / 375 },
layoutConfig: {
widthSpec: LayoutSpec.MOST,
heightSpec: LayoutSpec.MOST,
weight: 1,
}
})
rootView.addChild(vlayout([
pager,
]).also(it => {
it.layoutConfig = {
widthSpec: LayoutSpec.MOST,
heightSpec: LayoutSpec.MOST,
}
}))
// setTimeout(() => {
// pager.slidePage(this.context, 2, false);
// }, 200)
}
}