Flutter로 마운트 슬라이더 만들기

11039 단어 Fluttertech

해골 장착


이런 느낌으로 표현된 UI를 모방한 수축물이다.

Flutter를 사용하는 방법


이번에는 이쪽 포장을 사용했어요.
https://pub.dev/packages/skeleton_text
사용법은 간단하다. 아래처럼 콘테이너를 원하는 모양으로 정리해 스켈레톤 애니메이션으로 싸면 된다.
import 'package:skeleton_text/skeleton_text.dart';

SkeletonAnimation(
    child: Container(
        width: 46,
        height: 46,
        decoration: BoxDecoration(
              color: Colors.black12, borderRadius: BorderRadius.circular(100)),
    )
),
처음의 예는 트위터의 트위터에 맞춰 만들었고, 다음은 조합으로 만들었다.
의외로 빨리 할 수 있으니 잘 이용하세요💪
import 'package:flutter/material.dart';
import 'package:gap/gap.dart';
import 'package:skeleton_text/skeleton_text.dart';

class TweetSkeleton extends StatelessWidget {
  const TweetSkeleton({Key? key}) : super(key: key);

  
  Widget build(BuildContext context) {
    return Padding(
      padding: const EdgeInsets.symmetric(vertical: 16, horizontal: 16),
      child: Row(crossAxisAlignment: CrossAxisAlignment.start, children: [
        SkeletonAnimation(
            child: Container(
          width: 46,
          height: 46,
          decoration: BoxDecoration(
              color: Colors.black12, borderRadius: BorderRadius.circular(100)),
        )),
        const Gap(12),
        Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            const Gap(2),
            SkeletonAnimation(
                child: Container(
              width: 160,
              height: 8,
              decoration: BoxDecoration(
                  color: Colors.black12,
                  borderRadius: BorderRadius.circular(2)),
            )),
            const Gap(8),
            SkeletonAnimation(
                child: Container(
              width: MediaQuery.of(context).size.width - 108,
              height: 80,
              decoration: BoxDecoration(
                  color: Colors.black12,
                  borderRadius: BorderRadius.circular(2)),
            )),
          ],
        )
      ]),
    );
  }
}

좋은 웹페이지 즐겨찾기