목록안드로이드(Android)/기타 (21)
Simple&Natural
수치 데이터를 깔끔하게 다듬어 보여주고 싶을 때가 있다. 원하는 결과값이 소수점 둘째까지 짜리만 보여줘! 와 같은 경우라면 편하겠지만 데이터에 따라 유효숫자까지만 보여주고 싶은 경우는 어떻게 해야 할까? 예를 들어 1.4240000 과 같은 데이터는 1.424, 17400200.0000과 같은 데이터는 17,400,200과 같은 식으로 말이다. 이럴 땐 DecimalFormat을 활용하면 된다. fun main() { val sample = 1401200.1241000 val formatter = DecimalFormat("#,##0.########") val result = formatter.format(sample) println(result) } 출력값: 1401200.1241
최근 유튜브도 이런 식으로 BottomNavigation 메뉴를 커스텀해서 쓰는 것을 발견. 궁금해서 내 앱에도 적용해보기로 했다. bottom_menu_item3.xml MainActivity 새로운 listener를 적용하고 나면 기존의 리스너는 동작하지 않으므로 navigate 동작을 다시 설정해주어야 한다. return값을 false로 하면 해당 메뉴 아이템에 selectable이 동작하지 않는다. ... val binding = DataBindingUtil.setContentView(this, R.layout.activity_main) val bottomNav = binding.bottomNav //Init bottomNavigationView val navHostFragment = suppor..
어떤 분의 질문을 받았는데 Retofit을 사용하는데 10개 정도의 파라미터가 있는 상황에서 임의의 파라미터만 보내고 싶다는 것이었다. 이럴 땐 그냥 보내는 파라미터의 값을 null로 설정하면 retrofit이 알아서 건너뛰고 보낸다. default 값을 null로 설정하고 호출 시 원하는 parameter에만 값을 주면 된다. 아래와 같은 방법으로 작성 아래의 사이트에 잘 나와있으니 참고해보면 좋을 것 같다. 참고사이트 futurestud.io/tutorials/retrofit-optional-query-parameters#:~:text=Retrofit%20skips%20null%20parameters%20and,compiler%20won't%20be%20grumpy. Retrofit — Optiona..
Navigation Component 는 기본적으로 최상위 목적지가 아닌 지점에서는 뒤로가기 버튼을 생성한다. 이를 해결하기 위한 방법은 간단하다. AppBarConfiguration에 각 Fragment를 최상위 지점으로 설정하는 것이다. MainActivity에서 Configuration을 지정하고 사용하고자 하는 각 Fragment에서 해당 Config을 불러와 Toolbar를 초기화하면 된다. 이때, MainActivity가 아니라 Fragment에서 초기화를 시켜주는 이유는 각 Fragment별로 다른 유형의 Toolbar를 사용하고자 하기 때문이다. 다음 공식문서의 설명을 참고하면 된다. Support app bar variations Adding the top app bar to your a..