“Définir la marge par programme Android Kotlin” Réponses codées

Définir la marge programme Kotlin Android

val param = btnClickMe.layoutParams as ViewGroup.MarginLayoutParams
param.setMargins(10,10,10,10)
btnClickMe.layoutParams = param // Tested!! - You need this line for the params to be applied.
Helpless Hornet

Définir la marge par programme Android Kotlin

fun View.margin(left: Float? = null, top: Float? = null, right: Float? = null, bottom: Float? = null) {
    layoutParams<ViewGroup.MarginLayoutParams> {
        left?.run { leftMargin = dpToPx(this) }
        top?.run { topMargin = dpToPx(this) }
        right?.run { rightMargin = dpToPx(this) }
        bottom?.run { bottomMargin = dpToPx(this) }
    }
}

inline fun <reified T : ViewGroup.LayoutParams> View.layoutParams(block: T.() -> Unit) {
    if (layoutParams is T) block(layoutParams as T)
}

fun View.dpToPx(dp: Float): Int = context.dpToPx(dp)
fun Context.dpToPx(dp: Float): Int = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, resources.displayMetrics).toInt()
Stockholm

Réponses similaires à “Définir la marge par programme Android Kotlin”

Questions similaires à “Définir la marge par programme Android Kotlin”

Plus de réponses similaires à “Définir la marge par programme Android Kotlin” dans Kotlin

Parcourir les réponses de code populaires par langue

Parcourir d'autres langages de code