안드로이드/기능구현

    Kotlin invoke의 개념과 사용법 그리고 예시

    Kotlin invoke의 개념과 사용법 그리고 예시 Kotlin에는 invoke 라는 명칭의 연산자가 존재합니다. invoke 연산자는 이름 없이 호출될 수 있습니다. (lambda..!?) Sample Code를 통해 더 쉽게 알아보겠습니다. InvokeTest 클래스를 생성해 인자로 Hello ~ 를 넣었을 뿐인데 결과처럼 출력이 되었습니다. test.invoke(”Hello ~”) 형태로 호출하는 것 아닌가 싶지만 invoke 연산자는 이름 없이 호출될 수 있기에 이런 형태가 가능합니다. 코드에서 확인할 수 있듯 invoke는 kotlin에서 연산자로 제공하고 있습니다. 이런 연산자에는 +, -, *, invoke 등이 존재하며 필요에 따라 간단한 키워드로 사용할 수 있습니다. 위 코드에선 따로 ..

    커스텀다이얼로그 + RadioButton with Kotlin

    우선 CustomDialog를 디자인 할 XML을 만들어줍니다. 저는 Dialog에 RadioButton이 있고, 이 RadioButton으로 선택한 다음 확인을 누르면 그 값을 전달하게끔 설계했습니다. android:orientation="vertical" android:maxLines="1" android:paddingStart="15dp" android:paddingEnd="15dp" android:text="커스텀 다이얼로그" android:textColor="@color/black" android:textSize="17dp" android:textStyle="bold" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_to..

    웹뷰 PIP 자체 구현해보기 [ AOS 기능구현 ]

    앱 내부에서 동작하는 PIP를 구현해보았습니다. 제가 설계한 구성은 다음과 같습니다. MainActivity - ImageView(말티즈 이미지) - FragmentContainerView(웹뷰 표시할 FragmentContainer) WebviewLiveFragment - WebView(영상 스트리밍 웹뷰) *그냥 일반 웹뷰를 사용하셔도 무방합니다. - LinearLayout(PIP 제어 버튼) -- Button(Full) - 풀모드로 전환 -- Button(PIP) - PIP모드로 전환 -- Button(X) - (웹뷰 reload 기능으로 설정) 우선 저는 PIP모드를 ViewModel로 관리하기로 했습니다. class WvpipViewModel: ViewModel() { val pip: Mutab..