728x90
반응형

Android 32

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

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

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..

뮤직 플레이어(MusicPlayer)_6 [Android_Kotlin]

참고 교재 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 전체 코드가 궁금하다면 아래 링크를 참고하시길 바랍니다. 원본 코드 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 현재 블로그 작성 코드 :Gnow 6. 버튼 초기화하기 [코드] package com.example.simplemusicplayer import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.Button // View.OnClickListener : 사용자가 뷰를 클릭했을 때 어떤 행동을 할지 정할 수 있다. class MainActivity : AppCompatActiv..

뮤직 플레이어(MusicPlayer)_5 [Android_Kotlin]

참고 교재 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 전체 코드가 궁금하다면 아래 링크를 참고하시길 바랍니다. 원본 코드 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 현재 블로그 작성 코드 :Gnow 5. 서비스 클래스 구현하기 [com.example.simplemusicplayer] 을 우클릭하여 [New] → [Kotlin Class/File] 클릭 Class를 선택한채로 MusicPlayerService라는 이름의 클래스 파일 생성 우선 서비스 클래스의 뼈대를 만들겠습니다. [MusicPlayerService.kt] 의 뼈대 코드 package com.example.simplemusicplayer import android.app.Service import android.conten..

뮤직 플레이어(MusicPlayer)_4 [Android_Kotlin]

참고 교재 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 전체 코드가 궁금하다면 아래 링크를 참고하시길 바랍니다. 원본 코드 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 현재 블로그 작성 코드 :Gnow 4. 리소스 준비하기_MP3 뮤직 플레이어를 만들기 위해서는 mp3인 음악파일과 상태표시줄에 나타낼 아이콘을 다운 받아서 준비해야합니다. https://github.com/code-with-joyce/must_have_android GitHub - code-with-joyce/must_have_android: Must have 안드로이드의 모든 예제 소스들이 있습니다. Must have 안드로이드의 모든 예제 소스들이 있습니다. Contribute to code-with-joyce/must_..

뮤직 플레이어(MusicPlayer)_3 [Android_Kotlin]

참고 교재 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 전체 코드가 궁금하다면 아래 링크를 참고하시길 바랍니다. 원본 코드 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 현재 블로그 작성 코드 :Gnow 3. 레이아웃 구성하기 Design 탭의 Palette를 이용해 button 3개를 만들어 준 뒤 위에서 부터 재생, 일시정지, 재생중지 라는 이름으로 text와 id를 수정해 줍니다. 버튼 정렬_ 수직 정렬 버튼 3개를 ctrl 키를 누른 상태로 눌러 동시 선택합니다. 그 이후 우클릭을 하여 Chains → Create Vertical Chain 을 선택하여 수직 방향의 너비를 균등하게 분배합니다. 버튼 정렬_ 수평 정렬 다시 버튼 3개를 ctrl 키를 누른 상태로 눌러 동시 선택합니다. ..

뮤직 플레이어(MusicPlayer)_2 [Android_Kotlin]

참고 교재 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 전체 코드가 궁금하다면 아래 링크를 참고하시길 바랍니다. 원본 코드 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 현재 블로그 작성 코드 :Gnow 이번에는 지난번 뮤직 플레이어(MusicPlayer)_1편에 이어서 2편입니다. 프로젝트 진행 전 알아야할 사전지식2에 대해 정리하는 글입니다. 2. 사전지식 : 서비스와 생명주기 서비스 : 백그라운드에서 꺼지지 않고 작업을 수행하는 안드로이드 4대 구성요소 중 하나, 독립된 구성요소로 독립된 생명 주기를 가집니다. → 액티비티가 소멸되더라도 서비스는 독립된 상태로 실행됩니다., 서비스를 사용하기 위해서는 AndroidManifest.xml에 직접 추가해야합니다. 서비스의 유형에는 3가지가 ..

뮤직 플레이어(MusicPlayer)_1 [Android_Kotlin]

참고 교재 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 전체 코드가 궁금하다면 아래 링크를 참고하시길 바랍니다. 원본 코드 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 현재 블로그 작성 코드 :Gnow 이번에 해볼 프로젝트는 뮤직 플레이어입니다. 프로젝트 진행 전 알아야할 사전지식1에 대해 정리하는 글입니다. 학습 목표 : 음악 재생, 일시정지, 앱이 종료되더라도 음악을 계속 재생하는 방법을 배우게 됩니다. MediaPlayer API Service(안드로이드 4대 구성요소) 사전 지식 : 오디오 재생 MediaPlayer API MediaPlayer API는 다양한 유형의 미디어 재생을 지원합니다. 방법은 Raw와 URI가 있습니다. Raw 리소스를 사용해 재생하기 res → raw 에 ..

728x90
반응형