일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스터디
- aab
- RecyclerView
- Dropdown
- CSS
- 실행지연
- SWIFT
- InAppPurchase
- imagepicker
- Kotlin
- SplashFragment
- retrofit2
- DispatchTouchEvent
- MotionEvent
- MemoList
- UIPickerView
- HTML
- progressbar
- viewpager2
- Alamofire
- 개발
- CalendarView
- ViewModel
- javascript
- web
- dispatchQueue
- RxJava
- IOS
- ayncAfter
- Android
- Today
- Total
목록개발 공부 (30)
멜팅비의 개발 공부
업무가 많아지면서 그동안 스터디 한 내용을 정리하거나, 개발하면서 도움이 된 코드 정리가 소홀해졌다.. 이번에 iOS 프로젝트를 서브로 맡으면서 UI부터 작업을 진행하고 있는데 UI를 하면서 도움이 된 코드나 자주 검색했던 내용들을 하나씩 정리하려고 한다. iOS 개발을 하면서 아이콘을 정말 많이 사용하게 되는데 코드 내에서 이 아이콘의 색상 변경이 필요할 때가 굉장히 많다. Tint Color를 통해서 변경할 수 있지만 같은 이미지인데 색상만 변경해서 사용할 때 유용한 코드이다. extension UIImage { func imageWithColor(color: UIColor) -> UIImage { UIGraphicsBeginImageContextWithOptions(self.size, false, ..

retrofit을 통해 네트워크 통신을 하는 경우 로딩을 구현하는 경우가 종종 있다. ProgressBar Dialog 같은 경우 Full Screen으로 떠야 하는 경우들이 있는데 Full Screen으로 뜨도록 하기 위해 구글링을 자주 하는 것 같아서 정리도 할겸 포스팅하게 되었다. (지금은 팝업 같은 경우 공통으로 사용하는 경우가 많아서 모듈화해서 사용한다.) Full Screen Dialog를 만드는데 크게 2가지 방법을 사용하고 있다. style.xml에 스타일을 정의해서 구현하는 경우 📒android:windowIsFloating true일 경우 Dialog가 자식요소 만큼만 view size를 가진다. false일 경우 Dialog가 전체 화면을 사용한다. 📒android:windowBack..
무작정 따라하기 실습에 대한 HTHML의 기본 내용을 정리 // html 표준으로 작성된 페이지임을 알림 // 문서 전체의 범위 // 문서의 구조를 나타내는 범위 head : 문서의 정보를 나타내는 범위 웹 브라우저가 해석해야 함, 웹 페이지의 제목, 설명, 사용할 파일 위치, 스타일 같은 정보를 작성하는 범위(눈에 보이지 않는 정보) body : 문서의 구조를 나타내는 범위 사용자의 화면을 통해 보여지는 로고, 헤더, 푸터, 내비게이션, 메뉴, 버튼, 이미지 같은 눈에 보여지는 구조를 작성하는 범위 css파일 적용 시 head안에 명시를 해야 함 lang(language) : 문서의 언어를 명시하는 HTML 속성 Javascript 파일 적용 시 head안에 명시 style tag 적용 TAG titl..

회사 선배들은 대부분 Vue.js를 통해 웹 개발을 하고 있는데, 평소에 관심있게 보기도 했고 3월에 시간이 널널해서 Vue.js를 배워볼까 생각했다. 회사 동료분의 추천으로 HTML/CSS/JS를 어느정도 할줄 알아야 Vue.js 공부하기 쉽다고 해서 패스트캠퍼스라는 강의 사이트에서 프론트엔드 개발 강의를 직접 구매해 스터디하기 시작했고, HTML/CSS/JS 기본부터 스터디 내용을 정리해두려고 한다. HTML - Hyper Text Markup Language 페이지의 제목, 문단, 표, 이미지, 동영상 등 웹의 구조를 담당 CSS - Cacading Style Sheets 실제 화면에 표시되는 방법(색상, 크기, 폰트, 레이아웃 등)을 지정해 콘텐츠를 꾸며주는 시각적인 표현(정적)을 담당 JS - ..

코틀린 Collection 함수 스터디 내용 정리 List 데이터가 저장하거나 삭제될 때 순서를 지키는 Collection Mutable(변할 수 있는)과 Immutable(불변의)을 모두 지원 Immutable List = 수정할 수 없는 List get(조회)만 가능 val fruits = listOf("apple", "banana", "kiwi", "peach") fruits.get(2) // 실행결과 > kiwi fruits[1] // 실행결과 > bananan fruits.size // 실행결과 > 4 fruits.indexOf("peach") // 실행결과 > 3 Mutable List = 수정할 수 있는 List add /addALL / remove / removeAt 등 추가, 삭제가 가능..
새로 들어가는 프로젝트에서 처음으로 BottomSheetDialogFragment를 구현 할 일이 생겼다. BottomSheetDialog는 앱의 하단에서 올라오는 팝업창을 구현할 때 사용한다. 라이브러리 의존성 추가 implementation 'com.google.android.material:material:1.4.0-alpha01' xml ... BottomSheetDialog를 구현하기 위해서 최상단 LinearLayout에 app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior" 를 추가해야 한다. 이렇게 설정하면 하단에 펼쳐지는 방식으로 자식뷰가 동작하게 된다. 코드 class BottomCalendar(..
ViewModel에서 Dialog를 생성할 때 android.view.WindowManager$BadTokenException: Unable to add window 에러가 발생했다. 발생원인은 Dialog 생성 시 파라미터로 넘긴 context를 applicationContext로 넘겨서 발생한 에러였다. ViewModel에서 해결 할 때는 메서드 호출 시 view를 넘겨서 view.context를 사용했다. // data에 view import viewModel.someFunction(v)}" 일반적으로 해결하고자 할 때는 applicationContext 대신 activity(this)를 넘기면 된다.
SplashFragment를 MotionLayout으로 구현한 뒤 애니메이션이 끝난 뒤 MainFragment로 이동이 필요했다. 보통은 Activity로 구현해서 SplashActivity에서 MainActivity를 Intent로 실행시킨 뒤 SplashActivity를 종료시켰지만, 이번 프로젝트는 single Activity 구조로 Navigation을 통해 화면을 이동시켰다. override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) Handler(Looper.getMainLooper()).postDelayed({ lifecycleScope.laun..