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/ComplicatedDemo.ts

63 lines
2.6 KiB
TypeScript
Raw Normal View History

2019-12-04 18:15:41 +08:00
import { Panel, Group, vlayout, image, layoutConfig, ScaleType, refreshable, Color, pullable, stack, Image, Refreshable, TranslationAnimation, loge, log, list, listItem, text } from "doric";
import { title, icon_refresh, colors } from "./utils";
2019-12-04 14:07:14 +08:00
@Entry
class MyDemo extends Panel {
build(root: Group) {
let refreshed: Refreshable
let headerImage: Image
2020-06-22 15:11:36 +08:00
stack(
[
refreshed = refreshable({
onRefresh: () => {
refreshed.setRefreshing(context, false)
},
header: pullable(
stack([]).apply({
backgroundColor: Color.RED,
layoutConfig: layoutConfig().just(),
width: 100,
height: 30,
}),
{
startAnimation: () => {
},
stopAnimation: () => {
},
setPullingDistance: (distance: number) => {
headerImage.scaleX = headerImage.scaleY = (headerImage.height + distance * 2) / headerImage.height
},
}),
content: list({
itemCount: 20,
renderItem: (idx) => {
return listItem(text({
text: `Item :${idx}`,
layoutConfig: layoutConfig().just(),
width: root.width,
height: 50,
textColor: Color.WHITE,
backgroundColor: colors[idx % colors.length],
}))
2019-12-04 14:07:14 +08:00
},
2020-06-22 15:11:36 +08:00
layoutConfig: layoutConfig().most(),
2019-12-04 14:07:14 +08:00
}),
2020-04-08 20:32:25 +08:00
layoutConfig: layoutConfig().most(),
2020-06-22 15:11:36 +08:00
}).also(v => {
v.top = 200
2019-12-04 14:07:14 +08:00
}),
2020-06-22 15:11:36 +08:00
headerImage = image({
imageUrl: "https://img.zcool.cn/community/01e75b5da933daa801209e1ffa4649.jpg@1280w_1l_2o_100sh.jpg",
layoutConfig: layoutConfig().just(),
width: root.width,
height: 200,
scaleType: ScaleType.ScaleAspectFill,
}),
],
{
layoutConfig: layoutConfig().most()
}
).in(root)
2019-12-04 14:07:14 +08:00
}
}