Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- List
- ios
- url 관찰
- transformation.map
- swift #swift keychain #keychain 사용법
- Android
- 개발자 면접
- UIPresentationController
- notifychanged
- swift
- 상단 탭바
- 기존 앱
- detect url
- SwiftUI
- 스크롤 탭
- GeometryReader
- Swift Package Manager
- UIViewControllerTransitioningDelegate
- DataBinding
- development language
- url 추적
- convert base64
- oberve url
- base64 변환
- Tuist
- ViewBuilder
- pod install
- DevelopmentRegion
- Side Menu
- scrolling tab
Archives
- Today
- Total
버그 잡이
[코틀린]Kotlin floating button 클릭시 로딩 회전 #extend floating button #loading 본문
안드로이드/코틀린
[코틀린]Kotlin floating button 클릭시 로딩 회전 #extend floating button #loading
버그잡이 2020. 3. 27. 21:08floating Button을 클릭하면 로딩되는 동안 로딩 아이콘으로 변경되는 효과를 입혀보겠습니다.
총 3단계로 구분된다.
1. extended floating Button 만들기
2. 버튼 .shrink() / .extend()
3. 버튼 회전
1. extended floating Button 만들기
1) gradle 추가
- implementation 'com.google.android.material:material:1.2.0-alpha01'
2) layout.xml
<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
android:id="@+id/btn_crawl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="16dp"
app:borderWidth="0dp"
app:fabSize="normal"
android:elevation="6dp"
android:text="현재가격 크롤링"
android:backgroundTint="@color/goldenrod"
app:icon="@drawable/ic_crawl"
/>
2. 버튼 shrink / extend
activity에서
(해당 floating button).shrink() 하면 아이콘만 남은 동그란 모양으로 변합니다.
반대로 (해당 floating button).extend() 하면 text까지 보이는 넓은 모양으로 돌아옵니다.
3. 버튼 회전
- 원형의 아이콘이 되면 animation을 활용하여 회전시켜주면 됩니다.
- 아이콘은 .setIconResoure로 변경가능하니 로딩 아이콘으로 잠시 바꿔주는 것이 좋겠죠?
btn_crawl.setIconResource(R.drawable.ic_refresh)
val rotate = ObjectAnimator.ofFloat(btn_crawl, View.ROTATION, -360f, 0f)
rotate.setDuration(1000)
rotate.repeatCount = ObjectAnimator.INFINITE
rotate.interpolator = LinearInterpolator()
rotate.start()
반응형
'안드로이드 > 코틀린' 카테고리의 다른 글
[Kotlin] Generic 제네릭 #base 클래스 generic 코드 해석하기 (0) | 2020.06.15 |
---|---|
[코틀린] kotlin 커스텀뷰(customView) 만들기 (0) | 2020.04.06 |
[코틀린] Kotlin RecyclerView 각 요소 살펴보기 (0) | 2020.04.02 |
[코틀린]kotlin Arraylist to Array 변환 (0) | 2020.03.26 |
android kotlin extended floatingButton(코틀린 플로팅 버튼) (0) | 2020.03.14 |
Comments