SubwayTooter-Android-App/app/src/main/java/jp/juggler/subwaytooter/util/AnkoHelper.kt

58 lines
1.8 KiB
Kotlin

package jp.juggler.subwaytooter.util
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
// marginStart,marginEnd と leftMargin,topMargin の表記ゆれの対策
var ViewGroup.MarginLayoutParams.startMargin: Int
get() = marginStart
set(start) {
marginStart = start
}
// marginStart,marginEnd と leftMargin,topMargin の表記ゆれの対策
var ViewGroup.MarginLayoutParams.endMargin: Int
get() = marginEnd
set(end) {
marginEnd = end
}
// paddingStart,paddingEndにはsetterが提供されてない問題の対策
// 表記もtopPadding,bottomPaddingと揃えてある
var View.startPadding: Int
get() = paddingStart
set(start) {
setPaddingRelative(start, paddingTop, paddingEnd, paddingBottom)
}
// paddingStart,paddingEndにはsetterが提供されてない問題の対策
// 表記もtopPadding,bottomPaddingと揃えてある
var View.endPadding: Int
get() = paddingEnd
set(end) {
setPaddingRelative(paddingStart, paddingTop, end, paddingBottom)
}
// paddingStart,paddingEndにはsetterが提供されてない問題の対策
fun View.setPaddingStartEnd(start: Int, end: Int = start) {
setPaddingRelative(start, paddingTop, end, paddingBottom)
}
// XMLのandroid:minWidthと同じことをしたい場合、View#setMinimumWidthとTextView#setMinWidthの両方を呼び出す必要がある
// http://www.thekingsmuseum.info/entry/2015/12/01/233134
var TextView.minWidthCompat: Int
get() = minWidth
set(value) {
minimumWidth = value
minWidth = value
}
var TextView.minHeightCompat: Int
get() = minHeight
set(value) {
minimumHeight = value
minHeight = value
}