@@ -3,11 +3,50 @@ package com.omega_r.libs.extensions.view
33import android.view.View
44import android.view.ViewGroup
55import androidx.annotation.LayoutRes
6+ import androidx.core.view.ViewCompat
67
78fun View.inflate (@LayoutRes resource : Int , root : ViewGroup ): View {
89 return View .inflate(context, resource, root)
910}
1011
1112fun View.inflate (@LayoutRes resource : Int ): View {
1213 return View .inflate(context, resource, null )
13- }
14+ }
15+
16+ var View .paddingStartMutable: Int
17+ get() = ViewCompat .getPaddingStart(this )
18+ set(value) = setPaddingRelativeOverload(start = value)
19+
20+ var View .paddingEndMutable: Int
21+ get() = ViewCompat .getPaddingEnd(this )
22+ set(value) = setPaddingRelativeOverload(end = value)
23+
24+ var View .paddingTopMutable: Int
25+ get() = paddingTop
26+ set(value) = setPaddingOverload(top = value)
27+
28+ var View .paddingBottomMutable: Int
29+ get() = paddingBottom
30+ set(value) = setPaddingOverload(bottom = value)
31+
32+ var View .paddingMutable: Int
33+ get() = paddingLeft
34+ set(value) = setPaddingOverload(left = value)
35+
36+ var View .paddingRightMutable: Int
37+ get() = paddingRight
38+ set(value) = setPaddingOverload(right = value)
39+
40+ fun View.setPaddingOverload (
41+ left : Int = paddingLeft,
42+ top : Int = paddingTop,
43+ right : Int = paddingRight,
44+ bottom : Int = paddingBottom
45+ ) = setPadding(left, top, right, bottom)
46+
47+ fun View.setPaddingRelativeOverload (
48+ start : Int = ViewCompat .getPaddingStart(this),
49+ top : Int = paddingTop,
50+ end : Int = ViewCompat .getPaddingEnd(this),
51+ bottom : Int = paddingBottom
52+ ) = ViewCompat .setPaddingRelative(this , start, top, end, bottom)
0 commit comments