전체보기 (217) 썸네일형 리스트형 [AOS] Kotlin 확장 함수 자바에서 기존에 생성되어 있는 클래스에 새로운 매소드를 추가하려면 해당 클래스를 상속해서 사용하는 방법밖에 없지만 코틀린은 확장 함수를 사용해 상속없이 가능합니다. 예를 들어 Long타입의 현재 시간을 '2021.10'과 같이 변경해야할때 아래처럼 Utils 클래스의 메소드를 만들어 재사용하곤합니다. class Utils{ fun convertCalendarDate(tme: Long, format: String): String{ return SimpleDateFormat(format).format(Date(tme)) } } 확장 함수로 구현했을 경우 아래처럼 바뀝니다. fun Long.convertStrDate(format: String): String = SimpleDateFormat(format).f.. [AOS] Android Studio Fox Slow 및 한글 깨짐 해결 Android Studio나 그래들 버전을 잘 안올리는 안좋은 습관이 있다보니 새 프로젝트를 시작하거나, 새 노트북에 설정할때 버전을 올리곤 했습니다. 그런데 이번에 Fox로 업데이트 하면서 주기적으로 업데이트 해야한다고 깨달으면서 속도 이슈를 해결한걸 공유드립니다. | 업데이트전 버전 진행하는 개인 플젝들이 여러개 라는 핑계로 업데이트 내역들을 살피거나 하지 못해, 낮은 버전들을 사용하고 있었습니다. gradle : 4.0.2 Android Studio : 4.1.2 버전 ( 추정 ) Kotlin : 1.3.21 앞으론 주기적으로 업데이트 이력을 살펴보고 공부하고 반영하도록.. 할겁니다. 물론 협업을 하다보면 다른 사람들과 함께 의견을 조율하는게 중요하지만 설득할 이유를 찾아서 설득하도록 할겁니다. |.. [AOS] Navigation Component Navigation Component는 하나의 Activity에 다수 Fragment를 뒀을때 화면 이동을 도와줍니다. 기존에 Fragment Manager을 사용해서 Fragment들의 스택들과 Fragment별 전환 및 전환 애니메이션을 관리하던 방법은 다소 복잡해서 사용이 꺼려졌었는데 'Navigation Component'를 통해 관리하면 보다 직관적이고 간편하게 관리할 수 있습니다. 참고 자료 ※AndroidStudio 버전은 3.3 이상이어야 합니다. | build.gradle def nav_version = "2.3.5" implementation "androidx.navigation:navigation-fragment-ktx:$nav_version" implementation "androi.. [iOS] 점선 그리기 view 배경의 점선으로 그려야 할때 사용하는 함수입니다. 1. 일반 점선 func setLineDot(view: UIView, color: String){ let borderLayer = CAShapeLayer() borderLayer.strokeColor = UIColor(named: color)?.cgColor borderLayer.lineDashPattern = [2, 2] borderLayer.frame = view.bounds borderLayer.fillColor = nil borderLayer.path = UIBezierPath(rect: view.bounds).cgPath view.layer.addSublayer(borderLayer) } 2. 코너가 들어간 점선 func setLineD.. [iOS] CollectionView 선택한 아이템 UI 변경하기 해당 포스팅은 선택한 아이템의 UI를 변경해주는걸 중점으로 다뤘으며 UICollectionView에대한 기초적인 내용은 제 블로그내 다른 포스팅을 참고해주세요 [iOS] CollectionView로 구현하는 페이징 & 리스트 안드로이드에선 페이징 기능 구현시 뷰페이저를 사용하고 리스트는 리싸이클러뷰를 사용합니다. iOS의 경우 페이징 과 리스트 모두 CollectionView로 구현이 가능합니다. 페이징 기능의 예로 5초 superwony.tistory.com | 선택한 아이템 UI 예시 및 안드로이드와 비교 위 사진 왼쪽 식물 리스트를 보시면 선택중인 식물은 다르게 표기하고 있습니다. 이처럼 목록중에서 선택한 아이템만 다르게 표기하는건 흔하게 쓰이는 UI 입니다. 안드로이드에선 Recyclerview .. [AOS] 인앱 결제 라이브러리 4 적용 및 AIDL 마이그레이션 ( + 광고 제거 기능 구현 ) ※신규앱의 경우 8월부터, 업데이트의 경우 11월부터 Billing Library 버전 3 이상을 사용해야 업로드 가능합니다. 마이그레이션 하시는 분들중 뭘 지워야할지 헷갈리신다면 기존에 추가한 모든걸 삭제해도 무방합니다. 간혹 저처럼 어떤걸 추가 했는지 헷갈리시는 분들을 위해 간략하게 기술하겠지만 그래도 헷갈리신다면 제가 작성한 기존 포스팅을 참고해주세요. 신규 적용 이신분은 스크롤을 조금만 내리셔서 '신규 라이브러리 적용'부터 참고해주세요 ! | 구버전 소스 제거 aidl 소스 파일 제거 기존에 사용중인 결제 관련 코드를 제거합니다. ( ex. labHelper..등등 ) 저의 경우 아래 사진에 있는 파일들이 AIDL ( 구 버전) 관련 파일들인데 모두 삭제하겠습니다 ( aidl 폴더와 util 폴더.. [iOS] Autolayout, Android 에서 View가 Gone되는 효과 구현하기 안드로이드에서 view에 visibility 속성은 view를 화면에 노출할 것인지 여부를 설정합니다. 단순하게 노출 여부를 설정하기도 하지만 비노출시 2가지를 선택할 수 있습니다. 눈에는 보이지 않지만 영역은 존재하는 경우 와 눈에도 보이지 않고 영역조차 사라지는 경우로 나뉩니다. ( invisible / gone ) ※노출하는 경우 visible 안드로이드에선 gone 옵션을 줄 경우 다음 순서에 있거나 constraint로 연관되어 있는 view가 영역을 저절로 채워줍니다. 하지만 iOS에서 오토레이아웃을 사용했을 경우 위 그림상 'B' 뷰를 hidden 처리할 경우 invisible처리 처럼 영역은 그대로 남아 있어 별도로 처리해야 합니다. 1. hidden처리시 Constraint를 직접 조정한.. [iOS] CollectionView로 구현하는 페이징 & 리스트 안드로이드에선 페이징 기능 구현시 뷰페이저를 사용하고 리스트는 리싸이클러뷰를 사용합니다. iOS의 경우 페이징 과 리스트 모두 CollectionView로 구현이 가능합니다. 페이징 기능의 예로 5초 단위로 움직이는 광고 배너 구현 코드를 첨부했으며 예제에서 일부 설정만 변경하면 스크롤이 가능한 리스트가 됩니다. ( 언어는 스위프트를 사용했습니다 ) CollectionView 추가 코드가 아닌 Storyboard로 추가 했고, 뷰 생성시 자동으로 추가되는 CollectionView Cell은 하나의 리스트(아이템)를 뜻합니다. CollectionView Constraint 오토 레이아웃을 사용하여 가로 넓이는 꽉차도록 했으며 높이는 원하는 값으로 고정 했습니다. Attributes Inspector 설정.. 이전 1 ··· 6 7 8 9 10 11 12 ··· 28 다음