728x90
반응형

분류 전체보기 54

인스타그램 중독으로부터 멀어지기(2025-11-05 시작)

어제 유튜브에서 충격적인 내용의 영상을 봤다.https://www.youtube.com/watch?v=hxJJJajBVFU출처 : EBS 다큐2024년 2월 17일에 방영된 의 편집본이였는데 어째서 알고리즘으로...이정도면 나를 감시하는게 아닌가..본 필자도 인스타 릴스, 유튜브 쇼츠 등 숏폼을 즐겨보는 편이라 조치가 필요한 상황이였다.30분이 넘는 길이의 다큐지만 볼만하니 시청을 추천!영상을 보던 중 숏폼의 중독(핸드폰의 중독)에서 멀어지려면 흑백화면으로 설정하는게 효과적이라는 얘기를 들었다.아예 모든 것을 흑백으로하기엔 21세기의 나에겐 너무 가혹한 느낌이라 인스타만 흑백으로하기로하였다. 따로 인스타나 핸드폰 설정엔 흑백을 지정하는게 없었다.(아이폰 자체를 흑백으로 걸어두는 것뿐..)여기서 필요한게 ..

카테고리 없음 2025.11.05

특정 뷰에 애니메이션 적용하는 방법 그리고 적용 후 GONE 혹은 INVISIBLE이 안될 때

이번에는 지난번에 만들었던 fab(floatingButton)를 다루다가 알게 된 점을 정리하려고 한다. 이번 글은 floatingButton 외에도 애니메이션을 적용하는 경우에 사용할 수 있다. floatingButton의 경우 버튼을 누르면 다른 버튼들이 위로 나오거나 회전하는 등의 애니메이션이 적용되어 있는 경우가 많다. 우선 이러한 애니메이션을 만드는 경우는 다음과 같다. (visibility 적용하는 방법은 아래에 있다.) PART 1. 애니메이션 만들기 프로젝트 구조를 Android로 했을때 app > res 안에 anim 이라는 폴더를 만들고 원하는 애니메이션.xml 파일을 넣으면 된다. 현재 내가 쓰고 있는 애니메이션 종류는 여러 종류 중 'rotate(회전)' 과 scale(사이즈 조절)..

java.lang.NullPointerException ~ on a null object reference 오류가 뜰때 해결 방법

ImageView를 다루다 보니 다음과 같은 오류가 떳었다. java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setBackground(android.graphics.drawable.Drawable)' on a null object reference ImageView 에 원하는 이미지로 나오도록 shape를 적용시키다가 불러온 이미지에는 적용이 안되었다. 그러하여 코드 내부에서 적용하려 다음 코드를 적용시켰고 likeUserProfile.background = resources.getDrawable(R.drawable.like_background, null) likeUserProfil..

RecyclerView의 내용이 잘려서 안보이는 경우

RecyclerView를 지정하여 item으로 내용을 보여주다 보면 내용이 잘려서 안보이는 경우가 있다. 첫번째 사진처럼 마지막의 내용이 링크로 끝나야하는데 두번째 사진처럼 내용이 안보이는 경우가 있다. 이러한 증상이 발생하는 이유는 상위의 레이아웃이 ConstraintLayout이면서 RecyclerView의 height을 "wrap_content"로 지정하는 경우에 발생한다. height의 특정 값을 부여해주면 되지만 item 내용에 따라 height을 조절하고 싶기 때문에 다른 방법을 사용해야한다. 해결하는 방법은 다음과 같다. item을 보여줄 RecyclerView에 app:layout_constrainedHeight="true" app:layout_constrainedHeight="true" ..

ImageView나 특정 View에 그림자 커스텀하여 지정하는 방법 + 그림자를 지정하니 이미지의 사이즈가 이상해지는 경우

프로젝트를 진행 중 이미지에 그림자를 넣어야하는 경우가 생겼다. elevation을 통해서 그림자를 손쉽게 넣어줄 수 있지만 특정 방향의 그림자를 지정하기는 어렵다. 그럴때는 직접 xml 파일로 커스텀하여 그림자를 넣어줘야한다. 원하는 이름.xml로 drawable 폴더에 넣으면 된다. 위의 코드를 보면 얼핏보면 매우 복잡해 보인다. 그림자를 표현하기 위해 간략하게 일부만 가져오면 다음과 같다. 이 코드를 설명하자면

안드로이드의 fab 사이즈 조절하기(floatingButton 사이즈)

앱을 만들다보니 floatingButton을 만들어야할 경우가 있었다. 원하는 이미지를 넣어서 만들어야했는데 아래와 같이 사이즈가 안 맞는 경우가 생겼다. 맨 아래의 x표시의 floatingButton은 원하는 사이즈로 나왔으나 위에 나오는 버튼들은 모두 사이즈가 안 맞는 모습이다. 안쪽의 작은 원이 바깥쪽의 원과 사이즈가 같아야했다. 시도 1) xml의 fabSize를 변경 첫번째로 시도한 건 values의 dimens.xml을 만들어 fabSize를 수정하는 것이였다. 40dp 40dp res → values → dimens.xml 파일 dimens.xml에 사이즈를 지정하면 xml의 app:fabSize="normal" 을 통해 원하는 사이즈로 할 수 있다. 1-1) "design_fab_image..

activity!!(느낌표2개) 대신 requireActivity를 사용하는 이유

Glide 코드를 짜던 중 activity!!에서 빨간줄이 생겼다. 위의 코드를 간략하게 설명하자면 다음과 같다. Glide는 글라이드라는 라이브러로 안드로이드에서 이미지를 불러올 때 사용하는 라이브러리다. with()를 통해 괄호 속에서 Context를 가져온다. 위의 사진에서는 activity에서 가져오는 것이다. load()는 이미지를 로드하는 방식으로 url 방식임을 뜻한다. apply는 RequestOption 객체를 사용하여 추가 옵션을 설정하는 메소드이다. 다시 본론으로 돌아와서 with(activity!!)를 보자. 뒤에 느낌표가 2개가 붙은 이유는 컴파일러에게 activity는 null이 아니라고 알려주기 위해 지정하는 것이다. 만약 액티비티가 null이 발생할 경우 'NullPointe..

안드로이드 스튜디오에서 자동 완성이 안될 경우

코드를 작성함에 있어 자동 완성은 개발자에게 매우 편리한 기능이다. 그렇기 때문에 이러한 기능을 쓰다가 못쓰면 매우 불편함을 느낄 수 밖에 없다. 그걸 오늘 겪어 버렸다.. 한창 신나게 android:layout_width=" 적고 있던 와중 wrap_content가 자동 완성이 안됨을 확인하였다. 물론 그냥 wrap_content를 적으면 되지만 한두번만 가능하지 여러번하게 되면 매우 귀찮게된다.. 어제까지만해도 잘 되던 자동 완성이 왜 안될까 생각해보았다. 어제랑 바뀐건 SDK 버전 뿐 즉, SDK버전 문제인 것이다. 현재 버전은 SDK 33이다. android { compileSdk 33 defaultConfig { applicationId "com.example.underthelamp" minSd..

import kotlinx.android.가 에러가 발생하는 경우

firebase를 통한 회원가입을 만들던 중 LoginActivity에서 textview의 email_edittext, password_edittext와 같은 id로 접근이 안되는 상황이 발생하였다. 이를 해결하기 위해서는 아래와 같이 import kotlinx.android.synthetic.main.activity_login.* 를 import 해줘야 한다. 그런데 이 코드에서도 android 부분이 빨간줄이 뜨며 에러가 발생하였다. 이 에러는 Gradle Scripts → build.gradle 의 plugins 안에 다음 코드를 추가해주면 된다. id 'kotlin-android' id 'kotlin-android-extensions' 그러면 빨간줄이 사라지면서 에러가 해결되는 것을 확인할 수 있다.

com.android.support 리팩토링하기(과거 라이브러리 리팩토링)

과거 영상을 보면서 작업하면 라이브러리가 옛날 버전인 경우가 있다. 예를 들면 com.android.support ~ 등이 있는데 아래 사진과 같이 빨간줄이 생긴다. 이는 Android가 9.0 (API 28)로 출시가 되며 AndroidX를 제공하기 때문에 더는 지원을 안하게 될 경우게 생기게 된다. Android developers의 공식 문서를 보면 아래와 같은 안내가 있다. 마지막 줄에 써있듯이 AndroidX로 이전하는 것을 고려한다고 안내해준다. 이는 충돌과 같은 문제점을 방지하기 위해 해야하는 작업이다. 막상 옛날 라이브러리만 알고 최신꺼는 모르겠는 경우에는 다음과 같은 방법이 있다. 안드로이드 스튜디오의 Refactor 탭의 Migrate to AndroidX를 사용하면 된다. 이는 예전 ..

728x90
반응형