2021. 04. 24 (토) - 개발 공부

Benji Android·2021년 4월 24일
1

개발 공부 일지

Custom View 만들기

  • @JvmOverLoads 어노테이션 (constructor 오버로딩)
  • attr format 종류 (reference(id), dimension(dp, px, sp...), string, int, boolean, eunm ...)
  • DataBinding

1. @JvmOverLoads

커스텀 뷰를 생성할때, 생성자 오버로딩이 필수적이다.
그 부분을 어노테이션이 대신해 준다.

java

 public class CustomView extends View {
 	public CustomView(Context context) {
    	super(context);
    }
    public CustomView(Context context, AttributeSet attr) {
    	super(context, attr);
    }
    // ... etc
 }

kotlin

 class CustomView : View {
 	constructor(context: Context) : super(context)
    	constructor(context: Context, attr: AttributeSet) : super(context, attr)
 }
 // ... etc

constructor을 사용하여 자바와 비슷한 코드를 만들 수 있지만

@JvmOverloads 어노케이션을 사용하면 간결하게 생성자 오버로딩을 지원한다.

 class CustomView @JvmOverloads constructor(
 	context: Context,
 	attr:AttributeSet? = null
 ) : View(context, attr) {
 	// ... etc
}

2. attr format 종류

  • referemce : id 값
  • dimension : dp, sp, px ...
  • enum : 열거형
  • fraction : ??
  • flag : ??
  • color : 색깔
  • integer, float, string, boolean ...

3. DataBinding

profile
Android 주니어 개발자

0개의 댓글