목록분류 전체보기 (163)
Simple&Natural
Coroutine 의 Async는 Await 이전에 async를 호출한 시점부터 이미 동작을 시작하고 모든 작업이 완료된 이후에 await을 통해 결과를 반환한다. 결과에서 delay 이전의 출력 메시지는 무작위로 섞여 나올 수 있다. 각 출력이 독립적으로 실행되기 때문이다. 소스코드 @Test fun coroutineTest() = runBlocking { val taskAsync1 = CoroutineScope(Dispatchers.IO).async { println("Async1 working...") } val taskAsync2 = CoroutineScope(Dispatchers.IO).async { println("Async2 working...") } println("waiting...") ..
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..
BottomNavigationView의 TextSize는 보통 Active 상태에서 14sp, InActive 상태에서 12sp로 설정되어 있다. 아래는 material library에 있는 value.xml 파일이다. value.xml 해당 기본값을 커스텀하기 위해서는 프로젝트의 value 리소스 폴더에 dimens.xml을 만들고 다음과 같은 코드를 이용해 기존의 textSize를 오버라이드 해주면 된다. dimens.xml //Custom BottomNavigationView TextSize 10sp 10sp
menu의 아이템과 nav_graph의 fragment id가 반드시 일치해야 서로 연동된다. fragment의 경우 activity추가 시 반드시 supportFragmentManager를 통해 컨트롤러를 등록해야 함. 해당 이슈 참고 stackoverflow.com/questions/59275009/fragmentcontainerview-using-findnavcontroller/59275182?noredirect=1 FragmentContainerView using findNavController I'm using Android Navigation Component with bottom navigation, lint gives a warning about replacing the tag with F..