• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16const ID_GRID: string = "ID_GRID";
17
18@Component
19export struct GridView {
20  @State children: Number[] = Array.from(Array<number>(900), (v, k) => k);
21
22  build() {
23    Column() {
24      Scroll() {
25        Grid() {
26          ForEach(this.children, (item: Number[]) => {
27            GridItem() {
28              Stack() {
29                Stack() {
30                  Stack() {
31                    Text(item.toString())
32                      .fontColor(Color.White)
33                  }.size({ width: "100%" })
34                }.backgroundColor(Color.Blue)
35              }.backgroundColor(Color.Yellow)
36            }
37          }, (item: string) => item)
38        }
39        .columnsTemplate('1fr 1fr 1fr 1fr')
40        .columnsGap(0)
41        .rowsGap(0)
42        .size({ width: "100%", height: "100%" })
43        .id(ID_GRID)
44      }
45    }
46  }
47}