57 lines
1.7 KiB
Kotlin
57 lines
1.7 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) {
|
|
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
|
|
} |