自带点击态的ImageView、TextView
2022-08-27 本文已影响0人
azu_test
class ImageViewWithPressState : androidx.appcompat.widget.AppCompatImageView {
constructor(context: Context) : super(context)
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs)
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr)
override fun setPressed(pressed: Boolean) {
if (isEnabled) {
imageAlpha = if (pressed) {
//60%可见度
0x99
} else {
//100%可见度
0xFF
}
super.setPressed(pressed)
}
}
override fun setEnabled(enabled: Boolean) {
imageAlpha = if (enabled) {
0xFF
} else {
//40%可见度
0x66
}
super.setEnabled(enabled)
}
}
class TextViewWithPressState : androidx.appcompat.widget.AppCompatTextView {
constructor(context: Context) : super(context)
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs)
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr)
override fun setPressed(pressed: Boolean) {
if (isEnabled) {
alpha = if (pressed) {
//60%可见度
0.6f
} else {
//100%可见度
1f
}
}
super.setPressed(pressed)
}
override fun setEnabled(enabled: Boolean) {
alpha = if (enabled) {
//100%可见度
1f
} else {
//40%可见度
0.4f
}
super.setEnabled(enabled)
}
}