[안드로이드 공부] 215

코틀린 Scope; apply, also, run, with, let

Scope 함수는 인스턴스의 속성, 함수를 영역내에서 분리해서 사용 할 수 있다. 깔끔하고, 가독성을 높여 준다. apply / also 인스턴스 반환 run(with) /let 최종값 반환 apply 인스턴스(클래스)를 생성한 후 변수에 담기 전 초기화 과정을 수행 할 때 인스턴스 생성 후 .apply{ } 스코프 내에서 인스턴스의 .이름 없이 바로 사용 가능 즉, 인스턴스 생성 하고, 변수에 변경되거나 초기화 값을 넣은 다음 할당 하게 된다. class Book(var title: String, var number:Int){} var a = Book("a", 5).apply{ title = "abcde" + name} 인스턴스가 그대로 반환 된다 run apply 와 같으나, 마지막 구문이 반환 된다..

안드로이드 스튜디오 패키지명 변경

아주 간단하게 하는 방법 1. 안드로이드 스튜디오 좌측 프로젝트 패널에서 톱니 아이콘 클릭 2. Compact Middle Packages 해제 3. 원하는 패키지명을 누른 뒤, 우클릭 -> refactor -> rename 4. 경고 팝업이 뜨면 전체(all) 선택 5. 깊은 경로 일 경우 아래로 내려 가면서 하나씩 변경 6. 기존 5개 경로에서 3개로 변경 하고 싶다면 6.1. 예) com.a.b.c.d --> com.a.b 6.2 상위 패키지 명을 변경 한 후 , 하위 디렉토리 및 파일을 선택 해서 refactor -> move -> 가장 아래에 있는 all directory 옮기기로 옮기면 됨. 7. 남은 껍데기 폴더는 지워 주면 된다. 8. 그래들과, 매니페스트를 보면 자동으로 바뀌어 있음 9...

Actionbar Navigation icon 변경

Drawable drawable = ContextCompat.getDrawable(getApplicationContext(),R.drawable.ic_arrow_back_white_24dp); Overflow 아이콘 변경 toolbar.setOverflowIcon(drawable); 햄버거 모양 아이콘 변경 actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setDisplayShowHomeEnabled(true); Drawable drawable = ContextCompat.getDrawable(mContext,R.drawable.ic_arrow_back_white_24dp); actionBar.setHomeAsUpIndicator(drawable); 액티비티..

안드로이드 리사이클러뷰 아이템 포지션으로 이동

findViewHolderForAdapterPosition 을 써서 holder 의 itemView를 얻어 올 수 있는 방법이 있다. 즉, 예전 listView의 경우 해당 아이템을 가져와서 크기를 측정(itemView.measure) 한 뒤 리스트의 상단에서 그 아이템 위치 까지 높이를 만들어서 갔었는데, reclyerView에서는 이런 작업을 할 경우, 리스트가 notifychanged 를 하면서 null 이 떨어 질 수 있다. null 을 피하기 위해선 많은 방법을 사용 해야 한다. LinearLayoutManager linearLayoutManager = (LinearLayoutManager)recyclerView.getLayoutManager(); if(linearLayoutManager != ..

반응형