하루에 0.01%라도 성장하자
반응형

Android 15

Android - line Height 계산법 ( lineSpacingExtra, lineSpacingMultiplier

이번에 앱개발을 하면서 제공받은 zeplin에 lineHeight 값을 넣어야 하는 상황이었다. 음..안드로이드의 경우 lineHeight라는 옵션은 API 레벨 28 이상에서만 사용할 수 있는 옵션인데, 아직은 API 27 이하의 앱이 많기 때문에 lineHeight 보다는 lineSpacingExtra나 lineSpacingMultiplier 옵션을 사용한다. 그런데 문제는! 이 옵션이 zeplin에서 보여주는 lineHeight 수치를 그대로 넣으면 안된다는 것이다.! ( 나도 이번에 알았다 .. ) 역시나 구글링을 통해서 알게됬고 해당 방식대로 적용해본 결과 zeplin에서 보여주는 UI를 만들 수 있었다. 즉 lineHeight 값이 19이고 textSize가 15이면 우리가 설정해주어야 하는 ..

Develop/Android 2019.12.20

Fragment 변경시 발생할 수 있는 에러. Error msg : java.lang.IllegalStateException: commit already called

이번에 업데이트 중인 앱의 UI를 변경하다가 BottomNavigationView를 사용할 일이 생겼다. BottomNavigationView를 사용하면 하단에 Tab이 있고, MainView에 Fragment가 들어가는데 Tab의 메뉴를 누르면 화면이 변경되어야 한다. 위에 이해를 돕기위해 내가 개발한 앱의 레이아웃 구조를 구현했다. FrameLayout 위에 BottomNavigationView , FrameLayout을 그리고 FrameLayout 위에 Fragment를 배치하도록 하였다. ( 기본적인 NavigationView 그리기다.. ) Menu1, Menu2, Menu3을 누르면 각각의 Fragment를 그려주는 기능이다. 잠깐 코드를 보자. bottomNavigationView.setOn..

Develop/Android 2019.11.21

Android 변수의 종류

변수는 코딩을 하면서 가장 많이 사용된다. 하지만 내가 사용하고 있는 변수의 명칭과, 해당 변수의 생성되는 시기와 사라지는 시기를 정확하게 알지 못한다고 생각했다. ( 사실 그동안 그걸 알아야하는 난이도 있는 개발을 못했다는게 맞을지도.. ) 그래서 정리겸 글을 남긴다. 변수 종류 개념 인스턴스 변수 클래스의 인스턴스를 생성할 때 만들어진다. 객체를 여러개 생성하면 각각의 저장공간이 만들어진다. static 변수 변수 앞에 static을 붙여서 사용한다. 객체를 생성하지 않아도 사용할 수 있다. 변수를 공유하고 있기 때문에, 다른객체에서 이 변수값을 변경하면 변경된 값으로 계속 유지 된다. 지역 변수 메소드, 생성자 안에서 사용되며 그 안에서만 사용이 가능하고 메소드의 실행이 끝나면 자동으로 사라진다. ..

Develop/Android 2019.05.02

Notification Skill #1

Notification에 대한 내용을 찾다보면 대부분 2016년 이전 내용이 많다. 그 이유는 아마 그때 Notification에 대해서 핫하게 기술 연구(?)가 이루어졌기 때문이 아닐까 하지만 현재는 Firebase라는 좋은 프레임워크가 있기 때문에 잘 사용 안해서 관련하여 더이상 연구문서가 없을 수도 있고, 아니면 이미 알만한 사람은 다 알기 때문에 굳이 다시 작성하지 않는 이유일까... 이전 데이터를 찾아서 그대로 가이드를 따라 진행하면 에러도 발생하지 않고 알람도 발생하지 않는다. ( 즉 정상 동작 하지 않는다. ) 이유는, NotificationCompat.Builder를 만들때 이전 버전에서는 context만 넣어주면 되었다. 하지만 그 이상의 버전은 channelId라는 것을 넣어주어야 동작..

Develop/Android 2019.04.30

네비게이션바 숨기기

찾아본 이유는 별거 없다.... 플레이어로 전체 화면 재생을 할때 네비게이션바가 영역을 차지하는 것이 싫었을 뿐 public void hideNavigationBar() { View decorView = getWindow().getDecorView(); decorView.setSystemUiVisibility( // Set the content to appear under the system bars so that the // content doesn't resize when the system bars hide and show. // Hide the nav bar and status bar View.SYSTEM_UI_FLAG_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_IMMERS..

Develop/Android 2019.04.30
반응형