Guest User

Untitled

a guest
Aug 2nd, 2017
471
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.34 KB | None | 0 0
  1. import android.app.Activity
  2. import android.content.Context
  3. import android.support.constraint.ConstraintLayout
  4. import android.util.AttributeSet
  5. import android.view.View
  6. import android.view.ViewGroup
  7. import android.view.ViewManager
  8. import org.jetbrains.anko.AnkoViewDslMarker
  9. import org.jetbrains.anko.custom.ankoView
  10.  
  11.  
  12. open class _ConstraintLayout(ctx: Context) : ConstraintLayout(ctx) {
  13.  
  14. inline fun <T : View> T.lparams(
  15. c: Context?,
  16. attrs: AttributeSet?,
  17. init: ConstraintLayout.LayoutParams.() -> Unit
  18. ): T {
  19. val layoutParams = ConstraintLayout.LayoutParams(c!!, attrs!!)
  20. layoutParams.init()
  21. layoutParams.validate()
  22. [email protected] = layoutParams
  23. return this
  24. }
  25.  
  26. inline fun <T : View> T.lparams(
  27. c: Context?,
  28. attrs: AttributeSet?
  29. ): T {
  30. val layoutParams = ConstraintLayout.LayoutParams(c!!, attrs!!)
  31. layoutParams.validate()
  32. [email protected] = layoutParams
  33. return this
  34. }
  35.  
  36. inline fun <T : View> T.lparams(
  37. width: Int = android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
  38. height: Int = android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
  39. init: ConstraintLayout.LayoutParams.() -> Unit
  40. ): T {
  41. val layoutParams = ConstraintLayout.LayoutParams(width, height)
  42. layoutParams.init()
  43. layoutParams.validate()
  44. [email protected] = layoutParams
  45. return this
  46. }
  47.  
  48. inline fun <T : View> T.lparams(
  49. width: Int = android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
  50. height: Int = android.view.ViewGroup.LayoutParams.WRAP_CONTENT
  51. ): T {
  52. val layoutParams = ConstraintLayout.LayoutParams(width, height)
  53. layoutParams.validate()
  54. [email protected] = layoutParams
  55. return this
  56. }
  57.  
  58. inline fun <T : View> T.lparams(
  59. source: ViewGroup.LayoutParams?,
  60. init: ConstraintLayout.LayoutParams.() -> Unit
  61. ): T {
  62. val layoutParams = ConstraintLayout.LayoutParams(source!!)
  63. layoutParams.init()
  64. layoutParams.validate()
  65. [email protected] = layoutParams
  66. return this
  67. }
  68.  
  69. inline fun <T : View> T.lparams(
  70. source: ViewGroup.LayoutParams?
  71. ): T {
  72. val layoutParams = ConstraintLayout.LayoutParams(source!!)
  73. [email protected] = layoutParams
  74. return this
  75. }
  76.  
  77. inline fun <T : View> T.lparams(
  78. source: ViewGroup.MarginLayoutParams?,
  79. init: ConstraintLayout.LayoutParams.() -> Unit
  80. ): T {
  81. val layoutParams = ConstraintLayout.LayoutParams(source!!)
  82. layoutParams.init()
  83. layoutParams.validate()
  84. [email protected] = layoutParams
  85. return this
  86. }
  87.  
  88. inline fun <T : View> T.lparams(
  89. source: ViewGroup.MarginLayoutParams?
  90. ): T {
  91. val layoutParams = ConstraintLayout.LayoutParams(source!!)
  92. layoutParams.validate()
  93. [email protected] = layoutParams
  94. return this
  95. }
  96.  
  97. inline fun <T : View> T.lparams(
  98. source: ConstraintLayout.LayoutParams?,
  99. init: ConstraintLayout.LayoutParams.() -> Unit
  100. ): T {
  101. val layoutParams = ConstraintLayout.LayoutParams(source!!)
  102. layoutParams.init()
  103. layoutParams.validate()
  104. [email protected] = layoutParams
  105. return this
  106. }
  107.  
  108. inline fun <T : View> T.lparams(
  109. source: ConstraintLayout.LayoutParams?
  110. ): T {
  111. val layoutParams = ConstraintLayout.LayoutParams(source!!)
  112. layoutParams.validate()
  113. [email protected] = layoutParams
  114. return this
  115. }
  116. }
  117.  
  118. inline fun ViewManager.constraintLayout(): _ConstraintLayout = constraintLayout {}
  119. inline fun ViewManager.constraintLayout(init: (@AnkoViewDslMarker _ConstraintLayout).() -> Unit): _ConstraintLayout {
  120. return ankoView(::_ConstraintLayout, theme = 0) { init() }
  121. }
  122.  
  123. inline fun ViewManager.themedConstraintLayout(theme: Int = 0): _ConstraintLayout = themedConstraintLayout(theme) {}
  124. inline fun ViewManager.themedConstraintLayout(theme: Int = 0, init: (@AnkoViewDslMarker _ConstraintLayout).() -> Unit): _ConstraintLayout {
  125. return ankoView(::_ConstraintLayout, theme) { init() }
  126. }
  127.  
  128. inline fun Context.constraintLayout(): _ConstraintLayout = constraintLayout {}
  129. inline fun Context.constraintLayout(init: (@AnkoViewDslMarker _ConstraintLayout).() -> Unit): _ConstraintLayout {
  130. return ankoView(::_ConstraintLayout, theme = 0) { init() }
  131. }
  132.  
  133. inline fun Context.themedConstraintLayout(theme: Int = 0): _ConstraintLayout = themedConstraintLayout(theme) {}
  134. inline fun Context.themedConstraintLayout(theme: Int = 0, init: (@AnkoViewDslMarker _ConstraintLayout).() -> Unit): _ConstraintLayout {
  135. return ankoView(::_ConstraintLayout, theme) { init() }
  136. }
  137.  
  138. inline fun Activity.constraintLayout(): _ConstraintLayout = constraintLayout {}
  139. inline fun Activity.constraintLayout(init: (@AnkoViewDslMarker _ConstraintLayout).() -> Unit): _ConstraintLayout {
  140. return ankoView(::_ConstraintLayout, theme = 0) { init() }
  141. }
  142.  
  143. val parentId: Int = ConstraintLayout.LayoutParams.PARENT_ID
  144. val matchConstraint: Int = ConstraintLayout.LayoutParams.MATCH_CONSTRAINT
  145. val matchConstraintWrap: Int = ConstraintLayout.LayoutParams.MATCH_CONSTRAINT_WRAP
  146. val matchConstraintSpread: Int = ConstraintLayout.LayoutParams.MATCH_CONSTRAINT_SPREAD
Advertisement
Add Comment
Please, Sign In to add comment