BaseDataBindingConstraintLayout

ConstraintLayout that uses DataBinding and sets a LifecycleOwner.
Binds lifecycle on attach and releases on detach.

DataBinding을 사용하는 ConstraintLayout입니다.
attach 시 LifecycleOwner를 연결하고 detach 시 해제합니다.

Why this class exists / 이 클래스가 필요한 이유:

  • Provides lifecycle-aware DataBinding for custom ConstraintLayout components.

  • Automatically sets lifecycleOwner for LiveData observation in XML.

  • Handles binding cleanup (unbind, null lifecycleOwner) on detach to prevent memory leaks.

  • 커스텀 ConstraintLayout 컴포넌트에 생명주기 인식 DataBinding을 제공합니다.

  • XML에서 LiveData 관찰을 위해 자동으로 lifecycleOwner를 설정합니다.

  • 메모리 누수 방지를 위해 detach 시 바인딩 정리(unbind, null lifecycleOwner)를 처리합니다.

Usage / 사용법:

  1. Extend this class and pass the layout resource ID.

  2. Override onInitBind() to bind ViewModel and perform initial setup.

  3. Override onEventVmCollect() to collect ViewModel events with repeatOnLifecycle.

  4. Use XML data binding expressions to bind views to ViewModel properties.

  5. 이 클래스를 상속받고 레이아웃 리소스 ID를 전달하세요.

  6. ViewModel을 바인딩하고 초기 설정을 수행하려면 onInitBind()를 오버라이드하세요.

  7. repeatOnLifecycle로 ViewModel 이벤트를 수집하려면 onEventVmCollect()를 오버라이드하세요.

  8. XML 데이터 바인딩 표현식을 사용하여 뷰를 ViewModel 프로퍼티에 바인딩하세요.

Usage example:

// 1. Define custom layout class
class UserProfileCard @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
) : BaseDataBindingConstraintLayout<LayoutUserProfileCardBinding>(
context, attrs,
layoutId = R.layout.layout_user_profile_card,
) {
private val viewModel: UserProfileViewModel by lazy { /* get ViewModel */}

override fun onInitBind(binding: LayoutUserProfileCardBinding) {
binding.viewModel = viewModel
// lifecycleOwner is already set automatically
}

override fun onEventVmCollect(binding: LayoutUserProfileCardBinding) {
// Collect one-time events (navigation, snackbar, etc.)
}
}

// 2. XML layout (layout_user_profile_card.xml)
// <layout>
// <data>
// <variable name="viewModel" type="UserProfileViewModel" />
// </data>
// <androidx.constraintlayout.widget.ConstraintLayout ...>
// <TextView android:text="@{viewModel.userName}" ... />
// </androidx.constraintlayout.widget.ConstraintLayout>
// </layout>

// 3. Use in parent XML
// <com.example.UserProfileCard
// android:layout_width="match_parent"
// android:layout_height="wrap_content" />

Parameters

BINDING

The type of ViewDataBinding to be used.

사용할 ViewDataBinding 타입.

See also

For the parent class with binding lifecycle management.

바인딩 생명주기 관리가 있는 부모 클래스는 ParentsBindingConstraintLayout을 참조하세요.

For ViewBinding variant without LiveData auto-binding.

LiveData 자동 바인딩이 없는 ViewBinding 버전은 BaseViewBindingConstraintLayout을 참조하세요.

Constructors

Link copied to clipboard
constructor(context: Context, layoutId: Int, attachToParent: Boolean = true)
constructor(context: Context, attrs: AttributeSet?, layoutId: Int, attachToParent: Boolean = true)
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int, layoutId: Int, attachToParent: Boolean = true)
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int, layoutId: Int, attachToParent: Boolean = true)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open var alpha: Float
Link copied to clipboard
open var animation: Animation?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open val autofillHints: Array<out String?>??
Link copied to clipboard
Link copied to clipboard
open val autofillType: Int
Link copied to clipboard
Link copied to clipboard
open var background: Drawable?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open val baseline: Int
Link copied to clipboard
var bottom: Int
Link copied to clipboard
Link copied to clipboard
open val childCount: Int
Link copied to clipboard
open var clipBounds: Rect?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open val display: Display?
Link copied to clipboard
Link copied to clipboard
open val drawingCache: Bitmap?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open val drawingTime: Long
Link copied to clipboard
open var elevation: Float
Link copied to clipboard
open val explicitStyle: Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open var focusable: Int
Link copied to clipboard
open val focusedChild: View?
Link copied to clipboard
open var foreground: Drawable?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open val handler: Handler?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val height: Int
Link copied to clipboard
Link copied to clipboard
open var id: Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open val isDirty: Boolean
Link copied to clipboard
Link copied to clipboard
open var isEnabled: Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open val isFocused: Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open var isHovered: Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open val isLaidOut: Boolean
Link copied to clipboard
Link copied to clipboard
open override val isLayoutRequested: Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open val isOpaque: Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open var isPressed: Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open val isShown: Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override val isTextAlignmentResolved: Boolean
Link copied to clipboard
open override val isTextDirectionResolved: Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open var labelFor: Int
Link copied to clipboard
open val layerType: Int
Link copied to clipboard
Link copied to clipboard
open override var layoutDirection: Int
Link copied to clipboard
open var layoutMode: Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
var left: Int
Link copied to clipboard
open val matrix: Matrix?
Link copied to clipboard
open var maxHeight: Int
Link copied to clipboard
open var maxWidth: Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open var minHeight: Int
Link copied to clipboard
open var minimumHeight: Int
Link copied to clipboard
open var minimumWidth: Int
Link copied to clipboard
open var minWidth: Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open var nextFocusUpId: Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open val paddingBottom: Int
Link copied to clipboard
open val paddingEnd: Int
Link copied to clipboard
open val paddingLeft: Int
Link copied to clipboard
open val paddingRight: Int
Link copied to clipboard
open val paddingStart: Int
Link copied to clipboard
open val paddingTop: Int
Link copied to clipboard
override val parent: ViewParent?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open var pivotX: Float
Link copied to clipboard
open var pivotY: Float
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open val resources: Resources?
Link copied to clipboard
Link copied to clipboard
var right: Int
Link copied to clipboard
Link copied to clipboard
open val rootView: View?
Link copied to clipboard
Link copied to clipboard
open var rotation: Float
Link copied to clipboard
open var rotationX: Float
Link copied to clipboard
open var rotationY: Float
Link copied to clipboard
open var scaleX: Float
Link copied to clipboard
open var scaleY: Float
Link copied to clipboard
open val sceneString: String?
Link copied to clipboard
Link copied to clipboard
open var scrollBarSize: Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open val solidColor: Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open var tag: Any?
Link copied to clipboard
open override var textAlignment: Int
Link copied to clipboard
open override var textDirection: Int
Link copied to clipboard
Link copied to clipboard
var top: Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open var visibility: Int
Link copied to clipboard
val width: Int
Link copied to clipboard
open val windowId: WindowId?
Link copied to clipboard
Link copied to clipboard
open val windowToken: IBinder?
Link copied to clipboard
Link copied to clipboard
open var x: Float
Link copied to clipboard
open var y: Float
Link copied to clipboard
open var z: Float

Functions

Link copied to clipboard
open fun addChildrenForAccessibility(outChildren: ArrayList<View?>?)
Link copied to clipboard
open fun addExtraDataToAccessibilityNodeInfo(info: AccessibilityNodeInfo, extraDataKey: String, arguments: Bundle?)
Link copied to clipboard
open fun addFocusables(views: ArrayList<View?>?, direction: Int)
open fun addFocusables(views: ArrayList<View?>?, direction: Int, focusableMode: Int)
Link copied to clipboard
open fun addKeyboardNavigationClusters(views: Collection<View?>, direction: Int)
Link copied to clipboard
Link copied to clipboard
open fun addTouchables(views: ArrayList<View?>?)
Link copied to clipboard
Link copied to clipboard
open fun addView(child: View?)
open fun addView(child: View?, index: Int)
open fun addView(child: View?, index: Int, params: ViewGroup.LayoutParams?)
open fun addView(child: View?, width: Int, height: Int)
open fun addView(child: View?, params: ViewGroup.LayoutParams?)
Link copied to clipboard
Link copied to clipboard
fun View.animateScale(fromScale: Float = scaleX, toScale: Float, duration: Long = 300, onComplete: () -> Unit? = null)

Animates the view's scale with customizable parameters.

커스터마이징 가능한 매개변수로 View의 스케일을 애니메이션합니다.

Link copied to clipboard
Link copied to clipboard
fun View.applyWindowInsetsAsPadding(left: Boolean = true, top: Boolean = true, right: Boolean = true, bottom: Boolean = true)

Applies window insets as padding to the view.
Useful for handling system bars and keyboard.

윈도우 인셋을 View의 패딩으로 적용합니다.
시스템 바 및 키보드 처리에 유용합니다.

Link copied to clipboard
open fun autofill(values: SparseArray<AutofillValue?>)
open fun autofill(value: AutofillValue?)
Link copied to clipboard

Binds a lifecycle observer to the current LifecycleOwner.
Replaces the observer if the owner changes, prevents duplicate registration.

현재 LifecycleOwner에 라이프사이클 옵저버를 바인딩합니다.
Owner가 변경되면 옵저버를 교체하고, 중복 등록을 방지합니다.

Link copied to clipboard
open fun bringChildToFront(child: View?)
Link copied to clipboard
open fun bringToFront()
Link copied to clipboard
open fun buildDrawingCache(autoScale: Boolean)
Link copied to clipboard
open fun buildLayer()
Link copied to clipboard
open fun callOnClick(): Boolean
Link copied to clipboard
Link copied to clipboard
open fun cancelLongPress()
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun canScrollHorizontally(direction: Int): Boolean
Link copied to clipboard
open fun canScrollVertically(direction: Int): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun childHasTransientStateChanged(child: View, childHasTransientState: Boolean)
Link copied to clipboard
open fun clearAnimation()
Link copied to clipboard
open fun clearChildFocus(child: View?)
Link copied to clipboard
Link copied to clipboard
open fun clearFocus()
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun computeScroll()
Link copied to clipboard
open fun computeSystemWindowInsets(in: WindowInsets?, outLocalInsets: Rect?): WindowInsets?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun dispatchCreateViewTranslationRequest(viewIds: Map<AutofillId?, LongArray?>, supportedFormats: IntArray, capability: TranslationCapability?, requests: List<ViewTranslationRequest?>)
Link copied to clipboard
open fun dispatchDisplayHint(hint: Int)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun dispatchKeyEvent(event: KeyEvent?): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun dispatchNestedFling(velocityX: Float, velocityY: Float, consumed: Boolean): Boolean
Link copied to clipboard
open fun dispatchNestedPreFling(velocityX: Float, velocityY: Float): Boolean
Link copied to clipboard
open fun dispatchNestedPreScroll(dx: Int, dy: Int, consumed: IntArray?, offsetInWindow: IntArray?): Boolean
Link copied to clipboard
open fun dispatchNestedScroll(dxConsumed: Int, dyConsumed: Int, dxUnconsumed: Int, dyUnconsumed: Int, offsetInWindow: IntArray?): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun dispatchScrollCaptureSearch(localVisibleRect: Rect, windowOffset: Point, targets: Consumer<ScrollCaptureTarget?>)
Link copied to clipboard
open fun dispatchSetActivated(activated: Boolean)
Link copied to clipboard
open fun dispatchSetSelected(selected: Boolean)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun dispatchUnhandledMove(focused: View?, direction: Int): Boolean
Link copied to clipboard
Link copied to clipboard
open fun dispatchWindowVisibilityChanged(visibility: Int)
Link copied to clipboard
inline fun View.doOnLayout(crossinline action: (view: View) -> Unit)

Executes a block when the view has been laid out and measured.
Useful for getting actual view dimensions.

View가 레이아웃되고 측정된 후 블록을 실행합니다.
실제 View 크기를 얻는 데 유용합니다.

Link copied to clipboard
open fun draw(canvas: Canvas)
Link copied to clipboard
Link copied to clipboard
open fun endViewTransition(view: View?)
Link copied to clipboard
fun View.fadeIn(duration: Long = 300, onComplete: () -> Unit? = null)

Fades in the view with animation.

애니메이션과 함께 View를 페이드 인합니다.

Link copied to clipboard
fun View.fadeOut(duration: Long = 300, hideOnComplete: Boolean = true, onComplete: () -> Unit? = null)

Fades out the view with animation.

애니메이션과 함께 View를 페이드 아웃합니다.

Link copied to clipboard
fun View.fadeToggle(duration: Long = 300, onComplete: () -> Unit? = null)

Toggles visibility with fade animation.

페이드 애니메이션과 함께 가시성을 토글합니다.

Link copied to clipboard
open fun fillMetrics(metrics: androidx/constraintlayout/core/Metrics??)
Link copied to clipboard
open fun findFocus(): View?
Link copied to clipboard

Finds the host LifecycleOwner for this View.
Prioritizes Fragment's viewLifecycleOwner, falls back to Activity.

이 View의 호스트 LifecycleOwner를 찾습니다.
Fragment의 viewLifecycleOwner를 우선시하고, 없으면 Activity를 사용합니다.

Link copied to clipboard
fun <T : View?> findViewById(id: Int): T?
Link copied to clipboard
open fun findViewsWithText(outViews: ArrayList<View?>?, text: CharSequence?, flags: Int)
Link copied to clipboard
fun <T : View?> findViewWithTag(tag: Any?): T?
Link copied to clipboard
Link copied to clipboard
open fun focusSearch(direction: Int): View?
open fun focusSearch(focused: View?, direction: Int): View?
Link copied to clipboard
open fun forceHasOverlappingRendering(hasOverlappingRendering: Boolean)
Link copied to clipboard
open fun forceLayout()
Link copied to clipboard

Iterates over all child views of this ViewGroup.

이 ViewGroup의 모든 자식 View를 반복합니다.

Link copied to clipboard
Link copied to clipboard
open fun generateDisplayHash(hashAlgorithm: String, bounds: Rect?, executor: Executor, callback: DisplayHashResultCallback)
Link copied to clipboard
Link copied to clipboard
open fun getChildAt(index: Int): View?
Link copied to clipboard
fun getChildDrawingOrder(drawingPosition: Int): Int
Link copied to clipboard
open fun getChildVisibleRect(child: View?, r: Rect?, offset: Point?): Boolean
Link copied to clipboard
open fun getDesignInformation(type: Int, value: Any?): Any?
Link copied to clipboard
open fun getDrawingRect(outRect: Rect?)
Link copied to clipboard
open fun getFocusables(direction: Int): ArrayList<View?>?
Link copied to clipboard
open fun getFocusedRect(r: Rect?)
Link copied to clipboard
open fun getGlobalVisibleRect(r: Rect?, globalOffset: Point?): Boolean
Link copied to clipboard
open fun getHitRect(outRect: Rect?)
Link copied to clipboard
Link copied to clipboard
fun ViewGroup.getLayoutInflater(@LayoutRes xmlRes: Int, attachToRoot: Boolean): View

Inflates a layout resource into this ViewGroup.

레이아웃 리소스를 이 ViewGroup에 인플레이트합니다.

Link copied to clipboard
Link copied to clipboard
open fun getLocationInSurface(location: IntArray)
Link copied to clipboard
open fun getLocationInWindow(outLocation: IntArray?)
Link copied to clipboard
open fun getLocationOnScreen(outLocation: IntArray?)
Link copied to clipboard

Gets the view's location on screen as a Pair.

View의 화면상 위치를 Pair로 가져옵니다.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getTextAlignment(): Int
Link copied to clipboard
open fun getTextDirection(): Int
Link copied to clipboard
open fun getViewById(id: Int): View?
Link copied to clipboard
fun getViewWidget(view: View?): androidx/constraintlayout/core/widgets/ConstraintWidget??
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun hasFocus(): Boolean
Link copied to clipboard
open fun hasFocusable(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun indexOfChild(child: View?): Int
Link copied to clipboard
open fun invalidate()
open fun invalidate(dirty: Rect?)
open fun invalidate(l: Int, t: Int, r: Int, b: Int)
Link copied to clipboard
fun invalidateChild(child: View?, dirty: Rect?)
Link copied to clipboard
open fun invalidateChildInParent(location: IntArray?, dirty: Rect?): ViewParent?
Link copied to clipboard
open fun invalidateDrawable(drawable: Drawable)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun isVisibleToUserForAutofill(virtualId: Int): Boolean
Link copied to clipboard
Link copied to clipboard
open fun keyboardNavigationClusterSearch(currentCluster: View?, direction: Int): View?
Link copied to clipboard
fun layout(l: Int, t: Int, r: Int, b: Int)
Link copied to clipboard
open fun loadLayoutDescription(layoutDescription: Int)
Link copied to clipboard
fun measure(widthMeasureSpec: Int, heightMeasureSpec: Int)
Link copied to clipboard
open fun notifySubtreeAccessibilityStateChanged(child: View, source: View, changeType: Int)
Link copied to clipboard
fun offsetDescendantRectToMyCoords(descendant: View?, rect: Rect?)
Link copied to clipboard
open fun offsetLeftAndRight(offset: Int)
Link copied to clipboard
fun offsetRectIntoDescendantCoords(descendant: View?, rect: Rect?)
Link copied to clipboard
open fun offsetTopAndBottom(offset: Int)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun onCreate(owner: LifecycleOwner)

Lifecycle callback placeholder for subclasses.

하위 클래스에서 필요한 경우 오버라이드하는 생명주기 콜백입니다.

Link copied to clipboard
Link copied to clipboard
open fun onCreateViewTranslationRequest(supportedFormats: IntArray, requestsCollector: Consumer<ViewTranslationRequest?>)
Link copied to clipboard
open fun onCreateVirtualViewTranslationRequests(virtualIds: LongArray, supportedFormats: IntArray, requestsCollector: Consumer<ViewTranslationRequest?>)
Link copied to clipboard
open fun onDescendantInvalidated(child: View, target: View)
Link copied to clipboard
open override fun onDestroy(owner: LifecycleOwner)

Lifecycle callback placeholder for subclasses.

하위 클래스에서 필요한 경우 오버라이드하는 생명주기 콜백입니다.

Link copied to clipboard
open fun onDragEvent(event: DragEvent?): Boolean
Link copied to clipboard
open fun onDrawForeground(canvas: Canvas)
Link copied to clipboard
open fun onEventVmCollect(binding: BINDING)

Called to start collecting ViewModel events.
Typically invoked once per lifecycle (e.g., onCreate or onViewCreated).

ViewModel 이벤트 수집을 시작할 때 호출됩니다.
보통 생명주기 당 1회(onCreate 또는 onViewCreated) 호출됩니다.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun onHoverChanged(hovered: Boolean)
Link copied to clipboard
open fun onHoverEvent(event: MotionEvent?): Boolean
Link copied to clipboard
open fun onInitBind(binding: BINDING)

Called when the binding is initialized in onCreate().
Implement setup logic that requires binding here.

onCreate에서 바인딩이 초기화된 후 호출됩니다.
바인딩이 필요한 초기화 로직을 여기서 수행하세요.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean
Link copied to clipboard
open fun onKeyLongPress(keyCode: Int, event: KeyEvent?): Boolean
Link copied to clipboard
open fun onKeyMultiple(keyCode: Int, repeatCount: Int, event: KeyEvent?): Boolean
Link copied to clipboard
open fun onKeyPreIme(keyCode: Int, event: KeyEvent?): Boolean
Link copied to clipboard
open fun onKeyShortcut(keyCode: Int, event: KeyEvent?): Boolean
Link copied to clipboard
open fun onKeyUp(keyCode: Int, event: KeyEvent?): Boolean
Link copied to clipboard
open fun onNestedFling(target: View, velocityX: Float, velocityY: Float, consumed: Boolean): Boolean
Link copied to clipboard
open fun onNestedPreFling(target: View, velocityX: Float, velocityY: Float): Boolean
Link copied to clipboard
open fun onNestedPrePerformAccessibilityAction(target: View, action: Int, args: Bundle?): Boolean
Link copied to clipboard
open fun onNestedPreScroll(target: View, dx: Int, dy: Int, consumed: IntArray)
Link copied to clipboard
open fun onNestedScroll(target: View, dxConsumed: Int, dyConsumed: Int, dxUnconsumed: Int, dyUnconsumed: Int)
Link copied to clipboard
open fun onNestedScrollAccepted(child: View, target: View, axes: Int)
Link copied to clipboard
open override fun onPause(owner: LifecycleOwner)

Lifecycle callback placeholder for subclasses.

하위 클래스에서 필요한 경우 오버라이드하는 생명주기 콜백입니다.

Link copied to clipboard
open fun onPointerCaptureChange(hasCapture: Boolean)
Link copied to clipboard
open fun onProvideAutofillStructure(structure: ViewStructure?, flags: Int)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun onProvideStructure(structure: ViewStructure?)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun onResolvePointerIcon(event: MotionEvent?, pointerIndex: Int): PointerIcon?
Link copied to clipboard
open override fun onResume(owner: LifecycleOwner)

Lifecycle callback placeholder for subclasses.

하위 클래스에서 필요한 경우 오버라이드하는 생명주기 콜백입니다.

Link copied to clipboard
open fun onRtlPropertiesChanged(layoutDirection: Int)
Link copied to clipboard
open fun onScreenStateChanged(screenState: Int)
Link copied to clipboard
open fun onScrollCaptureSearch(localVisibleRect: Rect, windowOffset: Point, targets: Consumer<ScrollCaptureTarget?>)
Link copied to clipboard
open override fun onStart(owner: LifecycleOwner)

Lifecycle callback placeholder for subclasses.

하위 클래스에서 필요한 경우 오버라이드하는 생명주기 콜백입니다.

Link copied to clipboard
open fun onStartNestedScroll(child: View, target: View, nestedScrollAxes: Int): Boolean
Link copied to clipboard
Link copied to clipboard
open override fun onStop(owner: LifecycleOwner)

Lifecycle callback placeholder for subclasses.

하위 클래스에서 필요한 경우 오버라이드하는 생명주기 콜백입니다.

Link copied to clipboard
open fun onStopNestedScroll(child: View)
Link copied to clipboard
open fun onTouchEvent(event: MotionEvent?): Boolean
Link copied to clipboard
Link copied to clipboard
open fun onViewAdded(view: View?)
Link copied to clipboard
open fun onViewRemoved(view: View?)
Link copied to clipboard
Link copied to clipboard
open fun onVisibilityAggregated(isVisible: Boolean)
Link copied to clipboard
open fun onWindowFocusChanged(hasWindowFocus: Boolean)
Link copied to clipboard
Link copied to clipboard
open fun performAccessibilityAction(action: Int, arguments: Bundle?): Boolean
Link copied to clipboard
open fun performClick(): Boolean
Link copied to clipboard
Link copied to clipboard
open fun performHapticFeedback(feedbackConstant: Int): Boolean
open fun performHapticFeedback(feedbackConstant: Int, flags: Int): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun playSoundEffect(soundConstant: Int)
Link copied to clipboard
open fun post(action: Runnable?): Boolean
Link copied to clipboard
open fun postDelayed(action: Runnable?, delayMillis: Long): Boolean
Link copied to clipboard
open fun postInvalidate()
open fun postInvalidate(left: Int, top: Int, right: Int, bottom: Int)
Link copied to clipboard
open fun postInvalidateDelayed(delayMilliseconds: Long)
open fun postInvalidateDelayed(delayMilliseconds: Long, left: Int, top: Int, right: Int, bottom: Int)
Link copied to clipboard
open fun postInvalidateOnAnimation(left: Int, top: Int, right: Int, bottom: Int)
Link copied to clipboard
open fun postOnAnimation(action: Runnable?)
Link copied to clipboard
open fun postOnAnimationDelayed(action: Runnable?, delayMillis: Long)
Link copied to clipboard
fun View.pulse(minScale: Float = 0.95f, maxScale: Float = 1.05f, duration: Long = 1000, repeatCount: Int = ValueAnimator.INFINITE)

Creates a pulsing animation effect.

펄스 애니메이션 효과를 생성합니다.

Link copied to clipboard
open fun recomputeViewAttributes(child: View?)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun removeAllViews()
Link copied to clipboard
Link copied to clipboard
open fun removeCallbacks(action: Runnable?): Boolean
Link copied to clipboard
open fun removeView(view: View?)
Link copied to clipboard
open fun removeViewAt(index: Int)
Link copied to clipboard
open fun removeViewInLayout(view: View?)
Link copied to clipboard
open fun removeViews(start: Int, count: Int)
Link copied to clipboard
open fun removeViewsInLayout(start: Int, count: Int)
Link copied to clipboard
Link copied to clipboard
open fun requestChildFocus(child: View?, focused: View?)
Link copied to clipboard
open fun requestChildRectangleOnScreen(child: View, rectangle: Rect?, immediate: Boolean): Boolean
Link copied to clipboard
open fun requestDisallowInterceptTouchEvent(disallowIntercept: Boolean)
Link copied to clipboard
Link copied to clipboard
fun requestFocus(direction: Int): Boolean
open fun requestFocus(direction: Int, previouslyFocusedRect: Rect?): Boolean
Link copied to clipboard
Link copied to clipboard
open fun requestLayout()
Link copied to clipboard
Link copied to clipboard
open fun requestRectangleOnScreen(rectangle: Rect?): Boolean
open fun requestRectangleOnScreen(rectangle: Rect?, immediate: Boolean): Boolean
Link copied to clipboard
Link copied to clipboard
open fun requestTransparentRegion(child: View?)
Link copied to clipboard
fun <T : View?> requireViewById(id: Int): T & Any
Link copied to clipboard
open fun resetPivot()
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun View.rotate(fromDegrees: Float = rotation, toDegrees: Float, duration: Long = 300, onComplete: () -> Unit? = null)

Creates a rotate animation.

회전 애니메이션을 생성합니다.

Link copied to clipboard
fun saveAttributeDataForStyleable(context: Context, styleable: IntArray, attrs: AttributeSet?, t: TypedArray, defStyleAttr: Int, defStyleRes: Int)
Link copied to clipboard
open fun saveHierarchyState(container: SparseArray<Parcelable?>?)
Link copied to clipboard
open fun scheduleDrawable(who: Drawable, what: Runnable, when: Long)
Link copied to clipboard
Link copied to clipboard
open fun scrollBy(x: Int, y: Int)
Link copied to clipboard
open fun scrollTo(x: Int, y: Int)
Link copied to clipboard
open fun sendAccessibilityEvent(eventType: Int)
Link copied to clipboard
open fun setAccessibilityDataSensitive(accessibilityDataSensitive: Int)
Link copied to clipboard
open fun setAddStatesFromChildren(addsStates: Boolean)
Link copied to clipboard
open fun setAllowClickWhenDisabled(clickableWhenDisabled: Boolean)
Link copied to clipboard
open fun setAllowedHandwritingDelegatePackage(allowedPackageName: String?)
Link copied to clipboard
open fun setAllowedHandwritingDelegatorPackage(allowedPackageName: String?)
Link copied to clipboard
open fun setAutofillHints(vararg autofillHints: String?)
Link copied to clipboard
open fun setBackgroundColor(color: Int)
Link copied to clipboard
open fun setBackgroundDrawable(background: Drawable?)
Link copied to clipboard
open fun setBackgroundResource(resid: Int)
Link copied to clipboard
Link copied to clipboard
open fun setDesignInformation(type: Int, value1: Any?, value2: Any?)
Link copied to clipboard
open fun setFadingEdgeLength(length: Int)
Link copied to clipboard

Sets the view's visibility to GONE.

View의 가시성을 GONE으로 설정합니다.

Link copied to clipboard
open fun setHandwritingBoundsOffsets(offsetLeft: Float, offsetTop: Float, offsetRight: Float, offsetBottom: Float)
Link copied to clipboard
open fun setHasTransientState(hasTransientState: Boolean)
Link copied to clipboard

Sets the height of the view.

View의 높이를 설정합니다.

Link copied to clipboard

Sets the view height to match parent.

View의 높이를 부모에 맞춥니다.

Link copied to clipboard

Sets the view height to wrap content.

View의 높이를 내용에 맞춥니다.

Link copied to clipboard

Sets the view's visibility to INVISIBLE.

View의 가시성을 INVISIBLE로 설정합니다.

Link copied to clipboard
open fun setIsCredential(isCredential: Boolean)
Link copied to clipboard
open fun setIsHandwritingDelegate(isHandwritingDelegate: Boolean)
Link copied to clipboard
open fun setLayerPaint(paint: Paint?)
Link copied to clipboard
open fun setLayerType(layerType: Int, paint: Paint?)
Link copied to clipboard
fun setLeftTopRightBottom(left: Int, top: Int, right: Int, bottom: Int)
Link copied to clipboard

Sets uniform margin for all sides.

모든 면에 대해 동일한 여백을 설정합니다.

Link copied to clipboard
fun View.setMargins(left: Int, top: Int, right: Int, bottom: Int)

Sets all margin values at once.

모든 여백 값을 한 번에 설정합니다.

Link copied to clipboard
Link copied to clipboard
open fun setOnConstraintsChanged(constraintsChangedListener: ConstraintsChangedListener?)
Link copied to clipboard
fun View.setOnDebouncedClickListener(debounceTime: Long = 600, action: (View) -> Unit)

Sets a debounced click listener on this view to prevent rapid consecutive clicks.
Uses View's tag system to store timing information, preventing memory leaks.

연속적인 빠른 클릭을 방지하기 위해 디바운스된 클릭 리스너를 설정합니다.
View의 tag 시스템을 사용하여 타이밍 정보를 저장하여 메모리 누수를 방지합니다.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun setOnReceiveContentListener(mimeTypes: Array<out String?>??, listener: OnReceiveContentListener?)
Link copied to clipboard
Link copied to clipboard
open fun setPadding(left: Int, top: Int, right: Int, bottom: Int)
Link copied to clipboard

Sets uniform padding for all sides.

모든 면에 대해 동일한 패딩을 설정합니다.

Link copied to clipboard
open fun setPaddingRelative(start: Int, top: Int, end: Int, bottom: Int)
Link copied to clipboard
open fun setRenderEffect(renderEffect: RenderEffect?)
Link copied to clipboard
fun View.setSize(width: Int, height: Int)

Sets both width and height of the view.

View의 너비와 높이를 모두 설정합니다.

Link copied to clipboard
open fun setState(id: Int, screenWidth: Int, screenHeight: Int)
Link copied to clipboard
open fun setTransitionVisibility(visibility: Int)
Link copied to clipboard

Sets the view's visibility to VISIBLE.

View의 가시성을 VISIBLE로 설정합니다.

Link copied to clipboard

Sets the width of the view.

View의 너비를 설정합니다.

Link copied to clipboard

Sets the view width to match parent.

View의 너비를 부모에 맞춥니다.

Link copied to clipboard

Sets the view width to wrap content.

View의 너비를 내용에 맞춥니다.

Link copied to clipboard
open fun setWillNotCacheDrawing(willNotCacheDrawing: Boolean)
Link copied to clipboard
open fun setWillNotDraw(willNotDraw: Boolean)
Link copied to clipboard
fun View.shake(intensity: Float = 10.0f, duration: Long = 500, onComplete: () -> Unit? = null)

Creates a shake animation effect.

흔들기 애니메이션 효과를 생성합니다.

Link copied to clipboard
Link copied to clipboard
open fun showContextMenuForChild(originalView: View?): Boolean
open fun showContextMenuForChild(originalView: View?, x: Float, y: Float): Boolean
Link copied to clipboard
fun View.slideIn(direction: SlideDirection, distance: Float = 0.0f, duration: Long = 300, onComplete: () -> Unit? = null)

Animates view sliding in from a specific direction.

특정 방향에서 View가 슬라이드 인되는 애니메이션을 실행합니다.

Link copied to clipboard
fun View.slideOut(direction: SlideDirection, distance: Float = 0.0f, duration: Long = 300, hideOnComplete: Boolean = true, onComplete: () -> Unit? = null)

Animates view sliding out to a specific direction.

특정 방향으로 View가 슬라이드 아웃되는 애니메이션을 실행합니다.

Link copied to clipboard
fun View.snackBarMakeIndefinite(msg: CharSequence, snackBarOption: SnackBarOption? = null): Snackbar

Creates an indefinite duration Snackbar without showing it.
The Snackbar will remain visible until dismissed.

표시하지 않고 무제한 시간 Snackbar를 생성합니다.
Snackbar는 닫힐 때까지 계속 표시됩니다.

Link copied to clipboard
fun View.snackBarMakeLong(msg: CharSequence, snackBarOption: SnackBarOption? = null): Snackbar

Creates a long duration Snackbar without showing it.
Allows further customization before displaying.

표시하지 않고 긴 시간 Snackbar를 생성합니다.
표시하기 전에 추가 커스터마이징이 가능합니다.

Link copied to clipboard
fun View.snackBarMakeShort(msg: CharSequence, snackBarOption: SnackBarOption? = null): Snackbar

Creates a short duration Snackbar without showing it.
Allows further customization before displaying.

표시하지 않고 짧은 시간 Snackbar를 생성합니다.
표시하기 전에 추가 커스터마이징이 가능합니다.

Link copied to clipboard
fun View.snackBarShowIndefinite(msg: CharSequence, snackBarOption: SnackBarOption? = null)

Creates and shows an indefinite duration Snackbar from a View.

View에서 무제한 시간 Snackbar를 생성하고 표시합니다.

fun View.snackBarShowIndefinite(msg: CharSequence, customView: View, animMode: Int? = null, isGestureInsetBottomIgnored: Boolean? = null)

Creates and shows an indefinite duration Snackbar with a custom view.

커스텀 뷰로 무제한 시간 Snackbar를 생성하고 표시합니다.

Link copied to clipboard
fun View.snackBarShowLong(msg: CharSequence, snackBarOption: SnackBarOption? = null)

Creates and shows a long duration Snackbar from a View.

View에서 긴 시간 Snackbar를 생성하고 표시합니다.

fun View.snackBarShowLong(msg: CharSequence, customView: View, animMode: Int? = null, isGestureInsetBottomIgnored: Boolean? = null)

Creates and shows a long duration Snackbar with a custom view.

커스텀 뷰로 긴 시간 Snackbar를 생성하고 표시합니다.

Link copied to clipboard
fun View.snackBarShowShort(msg: CharSequence, snackBarOption: SnackBarOption? = null)

Creates and shows a short duration Snackbar from a View.

View에서 짧은 시간 Snackbar를 생성하고 표시합니다.

fun View.snackBarShowShort(msg: CharSequence, customView: View, animMode: Int? = null, isGestureInsetBottomIgnored: Boolean? = null)

Creates and shows a short duration Snackbar with a custom view.

커스텀 뷰로 짧은 시간 Snackbar를 생성하고 표시합니다.

Link copied to clipboard
Link copied to clipboard
open fun startActionModeForChild(originalView: View?, callback: ActionMode.Callback?): ActionMode?
open fun startActionModeForChild(originalView: View?, callback: ActionMode.Callback?, type: Int): ActionMode?
Link copied to clipboard
open fun startAnimation(animation: Animation?)
Link copied to clipboard
fun startDrag(data: ClipData?, shadowBuilder: View.DragShadowBuilder?, myLocalState: Any?, flags: Int): Boolean
Link copied to clipboard
fun startDragAndDrop(data: ClipData?, shadowBuilder: View.DragShadowBuilder?, myLocalState: Any?, flags: Int): Boolean
Link copied to clipboard
Link copied to clipboard
open fun startNestedScroll(axes: Int): Boolean
Link copied to clipboard
open fun startViewTransition(view: View?)
Link copied to clipboard
open fun stopNestedScroll()
Link copied to clipboard

Stops any pulsing animation on this view.

이 View의 펄스 애니메이션을 중지합니다.

Link copied to clipboard
open fun suppressLayout(suppress: Boolean)
Link copied to clipboard
Link copied to clipboard
open fun transformMatrixToLocal(matrix: Matrix)
Link copied to clipboard

Unbinds the lifecycle observer from this View.
Should be called when detaching the view or changing parent.

이 View에서 라이프사이클 옵저버를 언바인딩합니다.
View를 분리하거나 부모를 변경할 때 호출해야 합니다.

Link copied to clipboard
open fun unscheduleDrawable(who: Drawable, what: Runnable)
Link copied to clipboard
Link copied to clipboard
open fun updateViewLayout(view: View?, params: ViewGroup.LayoutParams?)
Link copied to clipboard
Link copied to clipboard
open fun willNotDraw(): Boolean