[개발][Flutter] 플러터 암호화폐 지갑 앱 개발 일기 4번째
개발 일상
Flutter로 스팀 지갑앱을 개발하고 있습니다.
아래 기능은 구현되었있습니다.
- 스팀 계정 등록 & 잔액 조회
- 스팀/스팀달러 송금
- 스팀 파워업/파워다운
그리고 앞으로 다음 기능을 구현할 예정입니다.
- 스팀파워 임대/철회
- 스팀 계정 히스토리
플러터로 개발 중인 암호화폐 스팀 지갑앱은 오픈소스입니다. 코드에 자신은 없지만 피드백은 언제나 환영입니다.
만약 Github 계정이 있고 마음에 드신다면, Github에 접속해서 ⭐️Star를 눌러주세요.
버튼 애니매이션 코드 작성하기
Add Account 화면에서 계정을 Import할때 버튼이 심심해서
버튼에 애니매이션을 넣어보았습니다.
[Import] 버튼을 누르면 줄어들면서 로딩 중이 표시됩니다.
애니매이션을 재생하기 위해서 AnimationController를 작성합니다.
AnimationController animationController = AnimationController(
duration: Duration(milliseconds: 1500),
vsync: this,
);
버튼이 작아지면서 원이 되어야 합니다. 그래서 CurvedAnimation위젯과 함께 Tween를 사용합니다. 버튼 너비(width)가 300에서 시작해서 50으로 점점 줄어들 것입니다.
Animation<double> buttonSqueezeAnimation = Tween<double>(begin: 300, end: 50).animate(
CurvedAnimation(
parent: animationController,
curve: Interval(0.0, 0.250),
),
);
그다음 AnimatedBuilder 빌더를 사용하여 버튼에 애니매이션을 적용합니다.
AnimatedBuilder(
animation: animationController,
builder: (_, __) => SizedBox(
width: buttonSqueezeAnimation.value,
height: 50,
child: ElevatedButton(
onPressed: loading() ? () {} : submit,
style: ElevatedButton.styleFrom(
shape: RoundedRectangleBorder(
borderRadius:
BorderRadius.circular(loading() ? 30 : 5),
),
),
child: loading()
? const SizedBox(
height: 20.0,
width: 20.0,
child: CircularProgressIndicator(
strokeWidth: 2,
valueColor:
AlwaysStoppedAnimation<Color>(Colors.white),
),
)
: const Text('Import'),
),
),
)
아래 블로그를 참고하여 버튼 애니매이션을 구현하였습니다.
start success go! go! go!
@anpigon transfered 1.0 KRWP to @krwp.burn. voting percent : 0.23%, voting power : 59.36%, steem power : 1791518.32, STU KRW : 1200.
@anpigon staking status : 47 KRWP
@anpigon limit for KRWP voting service : 0.047 KRWP (rate : 0.001)
What you sent : 1.0 KRWP
Refund balance : 0.953 KRWP [54766916 - 2c972e8cc015d27ed5d154daafeea8cd9cd89ddf]
오! 짱멋집니다
감사합니다. ㅎㅎ
@etainclub님이 당신을 멘션하였습니다.
https://www.steemit.com/@etainclub/play-steem-x-wepapp
굿입니다. 스팀 계정 지갑 트랙잭션 히스토리는 저도 구현해놨습니다. 필요하시면 공유가능합니다.
이제 막 히스토리 api 분석 시작하려고 했는데, 감사합니다.
그리고 플로터는 마크다운 처리는 어떻게 하셨나요?
마크다운 에디터도 쓸만한 것을 못찾겠어요.
오늘 집에 가서 코드 살펴보고 공유해드릴께요. 저도 구현만 한 상태라서요.
지금 마크다운과 html 동시에 표시할 수 있는 패키지를 사용하는데, 좀 느리고 처리 안되는게 있더라구요. 모바일용인데 웹에서 사용해서 그런건지도 모르겠습니다.
flutter_widget_from_html 이거랑 사용하고 있습니다. 마크다운 패키지를 별도로 사용하고 마크다운을 html로 변환해서 위 패키지로 표시해주고요. 좋은 방법있으면 공유 부탁드려요~.
감사해요. 저도 좋은 방법을 찾으면 공유드리겠습니다.
개발이 착착 되어가고 있네요 :)
전 또 다시 플젝으로 인해 거의 또 ... 여유 있을때 바짝 했어야 되는데 막상 바뻐지니 생계형?글만 쓰고 있네용 ㅜㅜ
요즘은 그냥 플러터 유툽 정도 보면서 감만 유지 하는 중이네요 화이팅입니다 :)
@etainclub님이 당신을 멘션하였습니다.
https://www.steemit.com/@etainclub/play-steem-x-webapp-wallet-history-code-for-anpigon