📱 Android 61

[Android/kotlin] 시스템 폰트 크기에 영향받지 않게 하기

font size DP 선언 이전 포스팅에서도 정리한 적이 있지만 dp는 물리적인 디스플레이 해상도에 영향을 받지 않기 때문에 해상도에 따라 맞춰주지 않아도 된다. 반면, sp의 경우는 dp와 유사하지만 물리적인 디스플레이 해상도에 영향을 받는다. 그렇기 때문에 해상도에 영향을 받지 않으려면 dp로 TextSize를 정해주면 된다 (Galaxy S8 기준) 안드로이드 설정-> 디스플레이 -> 글자 크기와 스타일에 들어가면 글자 크기를 조절할 수 있는데, 부끄럽게도 이번에 처음 확인을 해보았다. 결과는 대참사가 일어났다. UI는 뒤죽박죽이 되었고, 심지어 잘려서 보이지 않는 텍스트가 발생했다. 부랴부랴 TextSize를 dp로 변경했지만, 내가 놓친 부분이 2개나 있었다. TextView가 programm..

📱 Android 2020.07.27

[Android] MPAndroidChart BarChart 사용하기

MpAndrodChart의 HorizontalBarChart 사용하기 데이터를 보여줄 때 가독성을 높이는 방법 중엔 그래프가 있습니다. 은근 그래프를 사용할 때가 많은데, 그래프 라이브러리 중 가장 유명한 MPAndroidChart를 사용해보았습니다. HorizontalBarChart 사용하면서 적용할 수 있는 속성이 너무나도 많아서 나중에 쓰기 위해 쉽게 정리해둬야겠습니다. 사용 언어 : Kotlin MPAndroidChart GitHub 물론 Github에 자세하게 나와있지만, 나름대로 정리해봤습니다. 1. Gradle 추가 build.gradle repositories { maven { url 'https://jitpack.io' } } dependencies { implementation 'com..

📱 Android 2020.05.17

[Android] Lottie Animation 적용하기

안드로이드 Lottie 적용 Lottie 애니메이션 Lottie는 Json으로 이루어진 애니메이션이다. gif보다 용량이 적어서 부담이 적다. 실제로 사용해본 결과 처음은 불편했지만, 디자이너님과 서로서로 훨씬 수월해지는 작업이었다. 앞으로 Lottie 사용이 더 늘어날 것 같다. 그냥 이미지를 사용했을 때 보다 역시 애니메이션이 이쁘다..! 실제로 LottieFile들이 올라간 사이트를 구경하다보면 눈에 확 들어오는 애니메이션들이 많았다. Lottie에 쓰일 이미지는 로티파일 에 들어가면 아주 많이 나와있다. 꼭 한 번 둘러보시길 ! Lottie 사용 API 14 이상의 안드로이드 버전이 필요 gradle에 implementation 'com.airbnb.android:lottie:$lottieVers..

📱 Android 2019.12.31

[Android / Kotlin] Custom SeekBar

SeekBar를 Custom해서 사용했는데, 깔끔하게 사용하려면 조정해야할 부분이 좀 있었다 보통 SeekBar는 Custom으로 많이 사용하니 까먹지 말자..! 1. android:background="@null" Thumb을 이동시키면 Ripple Effect효과가 나타나는데 이 효과를 없애기 위해서 사용 2. android:progressDrawable="@drawable/이미지명" Bar의 background를 적용 3. android:splitTrack="false" seek1처럼 Thumb를 커스텀하면 좌우에 여백이 생긴다 seek2처럼 변경시키기 위해 splitTrack 적용 4. android:thumb="@drawable/이미지명" Thumb의 background 적용

📱 Android 2019.11.15

[MPAndroidChart/kotlin] BarChart 여러 개의 Bar (GroupBar)

BarChart에 그래프를 여러 개를 표시하고자 했는데 예전에 사용했던 방법과 좀 달라진 듯 하다 아마 라이브러리가 버전 업 되면서 다른 부분이 생긴 것 같다 다음에 또 사용하려면 미리 정리해둬야징 GroupBar 기능은 버전 3이상 부터 사용가능 하고자 했던 그래프의 형식은 각 그룹 별로 간격이 있고, 그룹 내의 그래프들 사이에도 간격이 들어가는 형식이다 BarChart에 데이터를 넣는 작업은 해봤던 지라 지금 고려해야 할 사항은 1) Bar를 GroupBar로 만들기 2) 그룹사이의 간격 3) 그래프들 사이의 간격 우선 공식문서를 참조했다 https://github.com/PhilJay/MPAndroidChart/wiki/Setting-Data PhilJay/MPAndroidChart A powerf..

📱 Android 2019.10.18

[Android / Kotlin] TextView 취소선 표시 및 해제

취소선이란 이런것 취소선 표시 Java tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); Kotlin tv.paintFlags = tv.paintFlags or Paint.STRIKE_THRU_TEXT_FLAG 취소선 해제 취소선 해제를 제대로 안 해주면 TextView의 폰트가 약간 깨져서 보이는 경우가 있었다 서치하다 찾아낸 방법 Kotlin 연산자에 대해서도 공부를 좀 해야겠다 Java tv.setPaintFlags(tv.getPaintFlags() & (~ Paint.STRIKE_THRU_TEXT_FLAG)); Kotlin tv.paintFlags = tv.paintFlags and Paint.STRIKE_THRU_TEXT_F..

📱 Android 2019.10.01

[Android / kotlin] getLineCount = 0으로 찍힐 때

아래 포스팅에서 textView에 설정된 ellipsize를 체크할 때 getLineCount를 사용했는데 0으로 가져올 때가 있어서 제대로 동작하지 않았습니다 문제는 textview가 그려지기 전에 line값을 반환해서 0이 찍혔기 때문입니다 Solution ) isLaidOut으로 그려졌는지 체크한 후에 ellipsize를 체크하면 정상적으로 동작합니다 API19 이전 , 이후로 나누어 사용합니다 이전 : ViewCompat.isLaidOut(textView)) 이후 : textView.isLaidOut 참고 사이트 : https://blog.asamaru.net/2015/09/04/android-view-dot-islaidout-and-view-dot-post/

📱 Android 2019.09.26

[Android/Kotlin] TextView 더 보기 기능

TextView의 더 보기 TextView안의 text가 늘어날 경우 말줄임표처럼 표시하고, 내용을 펼쳤다가 접었다가 할 수 있는 기능을 구현해야합니다 나중에 또 쓸 일이 있을 것 같아서 정리해두고자 합니다 우선, TextView 2개를 사용해 하나는 text를 표시하고, 하나는 더보기를 표시하는 용도로 사용했습니다 text 표시 View : tvMsg 더보기 표시 View : tvMore tvMsg의 MaxLine은 2로 정하고, ellipsized는 end로 지정했습니다. 그리고, tvMore은 tvMsg의 text가 MaxLine을 넘어설 경우에만 보이게 했습니다. tvMsg가 ellipsized 상태인지 확인 MaxLine을 넘어섰을 경우를 확인하기 위해선, ellipsized의 상태인지 확인하면..

📱 Android 2019.09.17

[ConstraintLayout] ConstraintLayout에 대해 알아보자

ConstraintLayout은 위젯의 위치와 크기를 유연한 방식으로 조절하게끔 허용된 ViewGroup입니다 상대적 배치 예를 들어 View를 2개를 선언한다면 4개의 점을 이용해 원하는 View랑 배치를 조정하고, margin값을 적용하면 GUI에서도 보기 편하게 표시가 됩니다 GUI에 보기 편하게 표시되는 것이 가장 큰 편리함이라 생각했습니다 그 외에도 Constraint Layout을 사용하면 위 사진 처럼 제공되는 기능이 많으니 직접 해보는 것을 추천합니다 처음 썼을 땐 당황스러웠지만 손에 익고 나면 Constraint Layout만큼 편한 Layout은 없는 것 같습니다 참고 문서 : https://developer.android.com/reference/android/support/const..

📱 Android 2019.08.11

[Android] px,dp,sp의 차이

AOS개발을 하면서 사용한 UI 크기의 단위는 거의 dp였다 자연스레 dp만 사용해와서 dp,px,sp의 차이를 잘 모르고 있었기에 한 번 정리를 해두는 게 좋을 것 같았다. 1) px - 화면을 구성하는 가장 기본이 되는 단위 - 절대적인 크기가 되므로 해상도에 따라 아이콘 크기가 뒤죽박죽이 될 수 있음 2) dp(Density Independent Pixel) - 물리적인 디스플레이 해상도에 영향을 받지 않고 독립적으로 크기를 지정하는 픽셀의 단위 - 해상도에 따라 맞춰주지 않아도 되기 때문에 개발 시 px보다 용이 (다양한 단말에 적용이 편리) 3) sp(Scale-independent pixel ) - dp와 유사하지만, 글꼴 크기를 지정할 때 주로 사용됨 안드로이드 디자인에선 해상도에 영향을 받..

📱 Android 2019.08.11